Sqoop导入与导出数据

一.导入数据

在Sqoop中,"导入"指的是从非大数据集群(RDBMS)向大数据集群(HDFS,HBASE,HIVE)中传输数据,即import。

1.RDBMS到HDFS

1)确定mysql服务开启正常

2)创建一个数据库并在该库下创建一个表,然后填充一些数据

Sqoop导入与导出数据_第1张图片

3)导入数据

          (1)全部导入 

注意jdbc包的版本,我这里用的是mysql-connector-java-5.1.35.jar与Sqoop1.4.6兼容。

Sqoop导入与导出数据_第2张图片

Sqoop导入与导出数据_第3张图片

          (2)查询导入

查询导入不指定table

Sqoop导入与导出数据_第4张图片

Sqoop导入与导出数据_第5张图片

          (3)导入指定列以及条件查询

Sqoop导入与导出数据_第6张图片

2.导入数据到Hive

Sqoop导入与导出数据_第7张图片

将hive 里面的lib下的hive-exec-**.jar 放到sqoop 的lib 下可以解决以下问题。

Sqoop导入与导出数据_第8张图片

 这个导入是两个过程——先将数据导入到HDFS中,结束后再将数据从HDFS中上传到Hive中。

所以,我们会先在HDFS的默认存储目录下(我的是/user/root)看到student目录,然后这个student目录会被删除,接下来就是会在Hive的默认存储目录下(我的是/user/hive/warehouse)看到hive_student目录

Sqoop导入与导出数据_第9张图片

Sqoop导入与导出数据_第10张图片

Sqoop导入与导出数据_第11张图片

3.导入数据到Hbase

Sqoop导入与导出数据_第12张图片

Sqoop导入与导出数据_第13张图片 

二.导出数据

在Sqoop中,"导出"指的是从大数据集群(HDFS,HIVE)向非大数据集群(RDBMS)中传输数据,即export。 (不支持HBASE)

Sqoop导入与导出数据_第14张图片

但是mysql表必须提前创建 

Sqoop导入与导出数据_第15张图片

你可能感兴趣的:(Sqoop)