
sqoop
肉装法师
读书人的事能算偷
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
sqoop导入更改后的hive表字段decimal类型精度问题
问题描述 原始数据mysql 通过sqoop导入 hdfs lzo压缩 存储, 然后通过load data inpath xxx overwrite xxx写入 hive ods层表。 mysql数据表 hive 外部表 原来字段A 类型为Decimal(18,2) 后来业务需求mysql表改为decimal(18,3) alter table hive对应外部表字段 A decimal(18,3)后再通过上述导数据流程发现数据精度不生效 比如sqoop从mysql导入2021-12-01日期数据至hiv原创 2022-01-05 13:33:49 · 1645 阅读 · 0 评论 -
sqoop导入数据至hdfs错误 You have an error in your SQL syntax;
21/11/19 10:14:37 ERROR manager.SqlManager: Error executing statement: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to u原创 2021-11-19 10:59:37 · 2640 阅读 · 0 评论 -
记sqoop将mysql数据增量导入hdfs的致命问题
sqoop增量导入数据分为两种方式: 基于递增列的增量数据导入(Append方式)。 基于时间列的数据增量导入(LastModified方式)。 一、 Append方式 # append方式 --incremental append \ # 自增id列 --check-column id \ # id大于此值 --last-value 0 由于我导的某张表没有自增id,所以我不得不采用LastModified方式 使用非自增id会报错 sqoop ERROR原创 2021-10-13 10:49:24 · 444 阅读 · 0 评论 -
记一个sqoop将mysql导入hive数据缺少情况排查
问题描述: sqoop导入历史数据至hive,落地部分日期数据较mysql数据少几条。 mysql -> sqoop -> hdfs -> ods 问题分析 写了jar 逐天比对mysql对应日期和hive对应日期数据量,count(1) 不同的日期保存下来。 然后拉对应日期的mysql 和 hive数据查出缺少的数据。 我是用navicat 和dbeaver分别将缺少数据日期的mysql数据和hive数据保存成CSV格式。 import pandas as pd hive_path =原创 2021-08-11 09:46:50 · 927 阅读 · 0 评论 -
记一个sqoop导入缓慢问题
折腾近一周,来回调yarn 和map内存 情景描述: 16G4核*4机器搭了一个集群,部署hdfs MR hive zookeeper 等一些组件。欲搭建一个离线数仓。 有4,5年历史数据存在mysql中,欲将mysql导入hdfs。采用sqoop将Mysql数据lzo压缩导入hdfs。 优化过sqoop中sql后,导入速度还是异常缓慢。sql部分已经没法优化了,mysql大表查询慢我认了。 不知是机器性能问题还是什么,sqoop从查询到map过程在执行巨慢。4台机器安装完组件后,yarn可调度节点分别为(原创 2020-12-11 16:27:26 · 2961 阅读 · 6 评论 -
在sqoop时从数据库中导出数据时,出现mapreduce卡住的情况
查看mapreduce配置中Map Memory是否大于yarn设置中最大内存(Maximum Container Size (Memory))原创 2020-12-10 16:05:11 · 835 阅读 · 0 评论 -
sqoop导入脚本——mysql_to_hdfs
#!/bin/bash #操作命令格式 #sh mysql_to_hdfs.sh first 开始日期 结束日期(默认开始时间为前一天,结束时间为当天) sqoop=/usr/hdp/3.1.4.0-315/sqoop/bin/sqoop db=SAJT_DZFP_PT do_date=`date -d '-1 day' +%F` endDay=`date +%F` if [[ -n "$2" ]]; then do_date=$2 fi if [[ -n "$3" ]]; then原创 2020-11-11 09:52:55 · 481 阅读 · 0 评论 -
sqoopADS层导出脚本
#!/bin/bash #操作命令格式 #sh xxx.sh all sqoop=/usr/hdp/3.1.4.0-315/sqoop/bin/sqoop hive_db_name=test mysql_db_name=test export_data() { $sqoop export \ --connect "jdbc:mysql://xxx:3306/${mysql_db_name}?useUnicode=true&characterEncoding=utf-8" \ --userna原创 2020-11-11 09:47:36 · 116 阅读 · 0 评论