sqoop导入数据到hivesqoop的使用之导入到hive和mysqlsqoop导入数据到hive原理




sqoop导入数据到hivesqoop的使用之导入到hive和mysqlsqoop导入数据到hive原理

2022-07-20 21:31:21 网络知识 官方管理员


mysql导入数据到hive中该如何做呢?

先登录hive

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(1)

在hive中操作,创建数据库

createdatabasefrommysql;

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(2)

创建表

创建表

createtableimporthive_info(

numint,

namestring

)rowformatdelimitedfieldsterminatedby"\t";

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(3)

数据也有了

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(4)

执行语句

bin/sqoopimport\

--connectjdbc:mysql://mastercdh:3306/sqoop_test\

--usernameroot\

--passwordpassword\

--direct\

--tableimporthdfs\

--delete-target-dir\

--hive-import\

--hive-databasefrommysql\

--hive-tableimporthive_info\

--fields-terminated-by"\t"\

-m1

执行报错

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(5)

但是我们数据库明明有

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(6)

查看mysql元数据信息发现新建的库表都没有

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(7)

难道没有使用mysql的元数据库?初始化出问题了吗?于是重新初始化

bin/schematool-dbTypemysql–initSchema

出现derby信息,还是旧信息

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(8)

我的配置没有起作用?

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(9)

为什么会有元数据库呢?说明之前是对的,仔细核对了一遍,发现是配置文件被我改动的问题。

这个地方写错路径了(截图已改对)

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(10)

重新启动

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(11)

Mysql中元数据库有了

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(12)

重新创建上面的库表

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(13)

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(14)

元数据有信息了

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(15)

在执行之前的sqoop语句

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(16)

查看下hive中的数据已经有了

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(17)

这个地方注意:运行mr任务时,结果将会保存在默认的输出目录上。还在/user/hive/warehouse。

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(18)

从hdfs导入到mysql(export)

常规模式导入数据到mysql

我们创建一个表

createtabletomysql(

idintprimarykeynotnull,

namevarchar(20)notnull

);

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(19)

导出语句

bin/sqoopexport\

--connectjdbc:mysql://mastercdh:3306/sqoop_test\

--usernameroot\

--passwordpassword\

--tabletomysql\

--export-dir/user/hive/warehouse/frommysql.db/importhive_info\

-m1\

--input-fields-terminated-by'\t'

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(20)

查看下数据

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(21)

sqoop运行一个file文件

在mysql重新建表file_to_mysql

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(22)

创建文本

export

--connect

jdbc:mysql://mastercdh:3306/sqoop_test

--username

root

--password

password

--table

file_to_mysql

--export-dir

/user/hive/warehouse/frommysql.db/importhive_info

-m

1

--input-fields-terminated-by

'\t'

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(23)

执行命令

bin/sqoop--options-file/data/test/filetomysql

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(24)

查看数据已经有了

sqoop导入数据到hive(sqoop的使用之导入到hive和mysql)(25)

发表评论:

最近发表
网站分类
标签列表