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

Sqoop基本使用

Sqoop基本使用

sqoop,它是一款开源的工具,主要用于实现关系型数据库与hadoop中hdfs之间的数据传递,其中用的最多的就是import,export了。

sqoop的安装配置也是非常简单的,这里就不说明了,本文主要针对如何使用sqoop实现oracle到hive(hdfs)的数据传递进行试验。

对于比较全的参数使用,可以到sqoop的官方文档http://sqoop.apache.org/docs/ 查看,以下是这次会用到的一些参数讲解:

-m N :开启N个map来导入数据

–query : 从查询结果导入数据,注意,如果使用了该参数,那么必须指定–target-dir参数,并且查询条件中要包含$CONDITIONS

–target-dir :指定数据在HDFS中的存放目录

–hive-table :导入到hive的目标表名

–fetch-size :一次从数据库中读取的记录数

–hive-drop-import-delims :将数据导入到hive时,去掉其中的n,r,01等特殊字符

–null-string :对于string类型的字段,如果值为null,那么使用替代

–non-null-string :对于非string类型的字段,如果值为null,那么使用替代

(通常我们使用的是

–null-string ‘N’

–null-non-string ‘N’

Hive中null默认是使用N来表示的,如果想要替换成N,那么还要多加一个来转义)

–hive-partition-key :hive表的分区字段

–hive-partition-value :指定导入到hive表的分区对应的分区值

–hive-overwrite :覆盖重写(这里注意,如果说没有使用到–hive-partition-key,hive-partition-value,那么–hive-overwrite的使用会将整个表的数据都覆盖,反之,则只是覆盖对应的 某个分区的数据)

–verbose :打印出详细的信息

================================================================================================

这里要注意,如果你要导入的数据里面包含n,r,01之类的特殊字符,那么要使用–hive-drop-import-delims去掉这些特殊字符,否则,如果字符串中有换行,那么换行符之后的数据将会被识别为另一行,导致结果不正确。

另一个需要注意的地方,如果导入的数据有些字段值是null的,要加上–null-string,–null-non-string参数,否则,这些null值将会被错误的替换为’null’这个字符串。

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

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

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