当前位置:   article > 正文

用sqoop导入mysql数据到hive_sqoop同步mysql数据到hive分区表

sqoop同步mysql数据到hive分区表

原始脚本

sqoop import  \
--connect jdbc:mysql://你自己的IP地址:端口号/xxl_job  \
--username 你自己的MySQL数据库账户  \
--password 密码  \
--query "SELECT id,username,password,role,permission,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as sys_update_time FROM xxl_job_log"  \
--split-by mercode  \
--null-string '\\N'   \
--null-non-string '\\N'   \
--hcatalog-database ods   \
--hcatalog-table xxl_job_log_a   \
--hcatalog-partition-keys ss_dt   \
--hcatalog-partition-values "20230919"   \
--hcatalog-storage-stanza 'stored as orc'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

改写后

# hive 分区导入 成功
sqoop import \
--connect jdbc:mysql://192.168.58.202:3306/xxl_job \      #mysql连接的url
--driver com.mysql.jdbc.Driver \        #使用mysql的驱动
--username root \
--password Mysql123! \
--query "SELECT id,username,password,role,permission,date_format(sysdate(), '%y.%m.%d %h:%i:%s') as sys_update_time FROM xxl_job_user where \$CONDITIONS" \      #使用sql语句导入,必须有where中的\$CONDITIONS" ,还要注意mysql和Oracle中的日期处理
--hive-import \                         #指定导入到hive里去
--hive-database ods \                   #导入的hive数据源
--hive-table xxl_job_user_a \           #导入的hive表
--target-dir /user/hive/warehouse/ods.db/xxl_job_user_a \   #必须指定目标路径
--hive-partition-key 'ss_dt' \          #分区字段,这个不写入建表语句中
--hive-partition-value '2023-09-19' \   #分区的值
--fields-terminated-by "," \   #分隔符,默认"\001",可以"\t",可以","
-m 1 #设置mapper的数量为1  或者写成  --num-mappers 1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

可以在hdfs上查看到数据:
在这里插入图片描述
点进去是这样的:
在这里插入图片描述

然后去hive的命令行,建表,它会自动映射:

创建hive表格来映射数据字段:

# hive建表
CREATE TABLE IF NOT EXISTS ods.xxl_job_user_a( 
id                BIGINT,
username          STRING,
password          STRING,
role              STRING,
permission        STRING,
sys_update_time   TIMESTAMP
)
PARTITIONED BY ( ss_dt STRING )
row format delimited 
fields terminated by ','
STORED AS ORC;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/774174
推荐阅读
相关标签
  

闽ICP备14008679号