栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

大数据hive sqoop 部分笔记

大数据hive sqoop 部分笔记

在学习途中,欢迎指正和交流  1.Sqoop job 工具,实现定时任务和任务保存:
    sqoop job   工具:
            sqoop  job工具可以用于创建保存经常使用的命令为一个任务,还可以用于实现定时调用任务,用于sqoop增量导入新数据。

sqoop job   工具:

       

sqoop  job工具可以用于创建保存经常使用的命令为一个任务,还可以用于实现定时调用任务,用于sqoop增量导入新数据。

 

sqoop语法:

$ sqoop job (generic-args) (job-args) [-- [subtool-name] (subtool-args)]

[  ]里面的是其它sqoop工具  两个()指的是本节介绍的参数和参数内容

sqoop job的使用参数:

Argument                                                                     

                                        Description

--create

Define a new saved job with the specified job-id (name). A second Sqoop command-line, separated by a -- should be specified; this defines the saved job.

--delete

Delete a saved job.

--exec

Given a job defined with --create, run the saved job.

运行任务时,可以使用--形式的参数覆盖之前创建时设置的参数

--show

Show the parameters for a saved job.

--list

List all saved jobs

创建自动增量导入任务:

自动导入tbltest表格任务:

​
sqoop job  --create dbFood_tbltest  -- import  --connect jdbc:mysql://192.168.56.101:3306/dbFood  --username root --password root --table tbltest  --hive-import  --hive-table tbltest --null-string '\N' --null-non-string '\N'  --incremental append  --check-column id  --last-value 3

​

指令执行:

 sqoop job --exec dbFood_tbltest

删除任务:

sqoop job --delete dbFood_tbltest

查看任务表:

sqoop job --list

 

设置免密码:

注意默认的情况下是要求输入数据库密码的,可以通过配置conf/sqoop-site.xml 指定sqoop.metastore.client.record.password为true避免

配置为:

 

    sqoop.metastore.client.record.password

    true

    If true, allow saved passwords in the metastore.

    

 2.hivesql sqoop部分笔记:

15:38

1.sqoop抽取MySQL表格所有数据到hive表库:

全量抽取数据:

一:
sqoop import --connect jdbc:mysql://192.168.56.101:3306/dbFood --username root --password root --table tblmovie --hive-import --fields-terminated-by ',' -m 1

 
二:
sqoop import 

--connect jdbc:mysql://192.168.56.101:3306/dbFood 

--username root 

--password root 

--table tbltest 

--hive-import 

--hive-table tbltest 

-m 1

(表后追加方式)

增量sqoop抽取MySQL数据到hive表:

(抽取id 大于0的数据):

sqoop import 

--connect jdbc:mysql://192.168.56.101:3306/dbFood 

--username root 

--password root 

--table tblmovie 

--hive-import 

-m 1  --hive-table tblmovie 

--incremental append 

--check-column id 

--last-value 0

  (抽取id大于2 的数据):

sqoop import 

--connect jdbc:mysql://192.168.56.101:3306/dbFood 

--username root 

--password root 

--table tbltest 

--hive-import 

-m 1  --hive-table tbltest 

--incremental append 

--check-column id 

--last-value 2


(修改后面的id123456就行)

(根据时间增量抽取):

sqoop import 

--connect jdbc:mysql://192.168.56.101:3306/dbFood 

--username root 

--password root 

--table tbltest 

--hive-import 

-m 1  --hive-table tbltest 

--incremental lastmodified 

--check-column recordetime 

--last-value "2021-10-31 15:15:15.0"

 

减量抽取数据:(用where设定条件)

sqoop import 

--connect jdbc:mysql://192.168.56.101:3306/dbFood 

--username root 

--password root 

--table tbltest 

--hive-import 

-m 1  

--incremental append 

--where "age>30"

--check-column id 

--last-value 0

2.删除hive的表(删除hive表部分符合条件数据时,不能使用delete from 表名 的SQL语句):

    删除表中数据,保留结构:

    truncate table 表名;

    删除整个表:

    drop table 表名;

    删除整个表,不准备恢复时:

    drop table 表名 purge;

     删除部分数据:

3.hive 逗号分隔符建表:

create table tblmovie(

id int ,

movieadress string,

picture string,

moviename string,

score double,

numofevalus int,

situation string,

information string,

ROE double,

moviememo string,

recodetime date

)

ROW FORMAT DELIMITED FIELDS TERMINATED BY',';

(无主键外键)

 

创建一张和MySQL表相同表数据类型的hive表:

sqoop create-hive-table 

--connect jdbc:mysql://192.168.56.101:3306/dbFood 

--username root 

--password root 

--table tbltest 

--hive-table tbltest

 

 

4.查看表信息:

desc 表名;

desc formatted 表名;(查看更加详细)

5.查看hive库:

show databases;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/422382.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号