拉取数据开源框架目前挺多的,本文主要讲述如何使用sqoop来拉取数据。
sqoop当时是专门为了hadoop而来的,所以和hadoop结合比较好,sqoop常用是从mysql或者oracle数据库拉取数据到hadoop,接下来说明如何从这两者采集数据到hive中。
- sqoop从mysql采集到hive
sqoop import --hive-import \ #指定导入到hive表
--connect jdbc:mysql://10.10.26.22:3306/xxsc \ #mysql连接
--username root \ #数据库用户名
--password 123456 \ #数据库密码
--verbose \ #打印命令运行时的详细信息
--table corp \ #数据库表名
--hive-database xxsc \ #Hive库名
--hive-table corp \ #Hive表名
--where " modify_time >= '2021-01-31 00:00:00' " \ #查询条件
--split-by id \ #数据以哪个字段分割
--compress \ #启用压缩
--compression-codec org.apache.hadoop.io.compress.SnappyCodec \ #指定压缩方式
--num-mappers 1 \ #指定导入并行度,大于1会根据条件进行count,一般1就是最优
--null-string '\\N' \ #空字符串处理
--null-non-string '\\N' \ #空对象处理
--hive-drop-import-delims \ #导入到hive时删除 \n, \r, and \01
--