sqoop导入导出常见问题

举报
bigdata张凯翔 发表于 2021/03/25 23:45:31 2021/03/25
【摘要】 踩玻璃栈道.png 呀,不好意思,附错图啦,哈哈哈哈! 言归正传! sqoop的使用.png Sqoop数据导出Parquet Ads层数据用Sqoop往MySql中导入数据的时候,如果用了orc(Parquet)不能导入,需转化成text格式 Sqoop数据导出控制 Sqoop中导入导出Null存储一致性问题: Hive中的Null在底层是以“...
踩玻璃栈道.png

呀,不好意思,附错图啦,哈哈哈哈!

言归正传!

sqoop的使用.png

Sqoop数据导出Parquet

Ads层数据用Sqoop往MySql中导入数据的时候,如果用了orc(Parquet)不能导入,需转化成text格式

Sqoop数据导出控制

Sqoop中导入导出Null存储一致性问题:
Hive中的Null在底层是以“\N”来存储,而MySQL中的Null在底层就是Null,为了保证数据两端的一致性。在导出数据时采用--input-null-string和--input-null-non-string两个参数。导入数据时采用--null-string和--null-non-string。

Sqoop数据导出一致性问题

当Sqoop导出数据到MySql时,使用4个map怎么保证数据的一致性
因为在导出数据的过程中map任务可能会失败,可以使用—staging-table –clear-staging

sqoop export --connect jdbc:mysql://192.168.137.10:3306/user_behavior --username 

root --password 123456 --table app_cource_study_report --columns 

watch_video_cnt,complete_video_cnt,dt --fields-terminated-by "\t" --export-dir "/

user/hive/warehouse/tmp.db/app_cource_study_analysis_${day}" --staging-table 

app_cource_study_report_tmp --clear-staging-table --input-null-string '\N'

任务执行成功首先在tmp临时表中,然后将tmp表中的数据复制到目标表中(这个时候可以使用事务,保证事务的一致性)

Tez引擎优点?

Tez可以将多个有依赖的作业转换为一个作业,这样只需写一次HDFS,且中间节点较少,从而大大提升作业的计算性能。
项目经验之元数据备份
元数据备份(重点,如数据损坏,可能整个集群无法运行,至少要保证每日零点之后备份到其它服务器两个复本)

文章来源: www.jianshu.com,作者:百忍成金的虚竹,版权归原作者所有,如需转载,请联系作者。

原文链接:www.jianshu.com/p/a201311ff792

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。