首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Sqoop抽取Hive Parquet表数据MySQL异常分析

Fayson的github:https://github.com/fayson/cdhproject 1.问题描述 ---- 在CDH集群中我们需要将Hive表的数据导入RDBMS数据库中,使用Sqoop...工具可以方便的将Hive数据抽取到RDBMS数据库中,在使用Sqoop抽取Hive Parquet表时作业执行异常。...Sqoop抽数脚本: sqoop export \ --connect jdbc:mysql://localhost:3306/test_db \ --username root \ --password...[8krr8v2ozq.jpeg] 3.查看MySQL数据 [j96z8p9fmw.jpeg] 3.总结 ---- 目前通过Sqoop从Hive的parquet抽数到关系型数据库的时候会报kitesdk...2907: https://issues.apache.org/jira/browse/SQOOP-2907 该jira目前并没有修复,如果要实现该功能,需要参考第二章的做法,使用hcatalog参数指定Hive

4K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何使用StreamSets从MySQL增量更新数据Hive

    ,在实际生产中需要实时捕获MySQL、Oracle等其他数据源的变化数据(简称CDC)将变化数据实时的写入大数据平台的Hive、HDFS、HBase、Solr、Elasticserach等。...本篇文章主要介绍如何使用使用StreamSets通过JDBC的方式实时抽取增量数据Hive。 StreamSets实现的流程如下: ?...Hive Metastore ? 8.校验并执行 点击校验,返回成功后点击执行 ? 执行后可以看到有2条数据输入和输出,这与我们测试数据库的数据相符合 ?...去HUE 页面查看hive 表中的数据,发现已经更新进来 ? 4.Pipeline流程测试 ---- 1.去mysql 中增加数据并查看 ? 查看管道流信息发现输入输出数量变成了4 ?...去HUE 中查看hive 表的数据,跟mysql 中同步,说明增量更新成功 ?

    14.9K130

    Hive快速入门系列(4) | 如何将Hive数据配置MySql

    上一篇博文我们讲了怎样安装MySql,这篇文章为上篇的后续,此篇文章讲的是如何将Hive数据配置MySql。 本系列所用到的安装包博主已经上传到百度云盘中,如有需要的可以自取。...配置MetastoreMySql 2.1 在/opt/module/hive/conf目录下创建一个hive-site.xml 在这个时候就可以转换成hadoop用户了 [bigdata@hadoop001...根据官方文档配置参数,拷贝数据hive-site.xml文件中 https://cwiki.apache.org/confluence/display/Hive/AdminManual+MetastoreAdmin...多窗口启动Hive测试 3.1 先启动MySQL [bigdata@hadoop001 mysql-libs]$ mysql -uroot -p199712 # 查看有几个数据mysql> show...[bigdata@hadoop001 hive]$ bin/hive 3.3 启动hive后,回到MySQL窗口查看数据库,显示增加了metastore数据mysql> show databases

    95120

    MySql 导数 Hive数据不一致问题

    MySql 导数 Hive数据不一致问题 作者:幽鸿     最近在使用Sqoop的时候,发现从MySql导入Hive数据莫名其妙会多少好多,并且没有任何规律可循。...最后观察发现是由于MySql中存储的一个大字段中含有若干干扰字符导致而成: ?     而Hive在碰到\n\r等的时候,会被默认识别为换行,即一条数据可能被拆分成多条数据。...而sqoop显然考虑到了这个问题,只需在sqoop中加上--hive-delims-replacement "#"参数就可避免这种问题,但是该字段却不可还原了。...那么如何查看Sqoop导出的源数据呢?我们可以现将数据导入HDFS,使用-z命令: sqoop import --connect "jdbc:mysql://$ip:$port/$DBName?...,所以加上-z命令后,就可以查看源数据库文件,进行查看数据的具体原因了。

    1.5K10

    Flink-CDC同步MySQLHive实践

    核心思想是,监测并捕获数据库的变动(包括数据数据表的插入INSERT、更新UPDATE、删除DELETE等),将这些变更按发生的顺序完整记录下来,写入消息中间件中以供其他服务进行订阅及消费。...,查询结果: 5. mysql数据同步hive mysql数据无法直接在flink sql导入hive,需要分成两步: mysql数据同步kafka; kafka数据同步hive; 至于mysql数据增量同步...kafka,前面有文章分析,这里不在概述;重点介绍kafka数据同步hive。...1) 建表跟kafka关联绑定: 前面mysql同步kafka,在flink sql里面建表,connector='upsert-kafka',这里有区别: CREATE TABLE product_view_mysql_kafka_parser...网上还有其它方案,关于mysql实时增量同步hive: 网上看到一篇写的实时数仓架构方案,觉得还可以: 参考资料 https://nightlies.apache.org/flink/flink-docs-release

    74310

    ods mysql_ODS数据抽取平台

    一、产品简介 ODS数据抽取平台是数据仓库对数据进行精细加工的中间环节,将加工后的数据存储ODS数据模型中,以便总账,报表,数据仓库使用。...将远程网络生产数据库中的数据备份一台备份机中(防止对生产数据的误操作),然后在可视化的第三方ETL工具中编辑ETL脚本,对备份库中的数据进行精细的加工,ETL脚本可以对网络中的任意一台数据库中任意的一张或多张表进行复杂的计算...实时脚本监测可以对正在执行的脚本进行实时监测的功能,监测具体脚本中的每一个步骤。...通过和外系统集成,可以实现定时调度ODS平台的功能,这样就不需要人工去触发ODS了,在夜间也可以进行数据抽取的功能。...C、任务状态查询 每次数据抽取任务从触发开始结束,数据抽取平台会根据运行的任务编号,记录抽数任务的运行状态的详细信息,通过任务状态查询平台,可以查询每次任务运行的历史记录和每次抽数任务脚本的详细信息,

    1.5K10

    Apache-Hive 使用MySQL存储Hive的元数据

    默认情况下,Hive的元数据是存储Derby中的,这是Apache的一个纯Java编写的小巧数据库,类似于Sqlite。...但是这样就会出现一个情况:Derby是单例的,当你在一个终端打开了hive时,在另外一个终端打开hive命令行会报错。所以使用MySQL来存储元数据能够解决这个问题,并且也更方便迁移和备份。...的metastore 的MySQL数据库的字符集格式问题。...2、配置MySQL后,第一次打开hive的时候Cli无响应: 这个问题查阅了很多资料并没有找到更加详细的信息,但是经过DEBUG初步判断还是MySQL数据库的问题,导致Hive第一次启动时无法正常完成Metastore...的数据表的初始化,按照上述第三步,在启动Hive前初始化下数据表即可:使用 schematool -dbType mysql -initSchema 命令进行初始化。

    2.9K30

    MySQL数据导入Hive-Java

    文章来源:http://www.study-java.cn/ 上一篇文章我们使用通过beeline执行一些常规的HQL,今天这一篇文章主要来看如果通过Java将MySQL数据导入Hive中。...Sqoop Sqoop并不在这篇文章的范围内,拿出来说的原因是,公司数据研发部门是通过Sqoop将数据数据导入Hive中,其原理是将数据数据导入HDFS中临时存储, 然后在将文件导入Hive中...而笔者并没有采用这种方式,原因很简单,我的目的是学习Hive,过多的用这些工具会增加了我的学习工具成本,所以我看了Sqoop的原理后,准备模仿一下,简单的 实现数据的导入,过程如下: 连接MySQL 查询导入的数据...调用Hadoop的API将数据存入HDFS中 将HDFS文件导入Hive中 查询MySQL数据 这里我查询用户表的用户名称,年,月,日,并将结果集存入ResultSet中 String...int count = stmt.executeUpdate(importData); 这里实现数据的导入 总结 通过API操作Hive之后,笔者发现他和Hadoop的区别在于:Hadoop是操作HDFS

    2.2K20

    知乎 Hive Metastore 实践:从 MySQL TiDB

    Hive Metastore 是 Hive 的元信息管理工具,它提供了操作元数据的一系列接口,其后端存储一般选用关系型数据库如 Derby、 MySQL 等。...在去年,我们做过数据治理,Hive 表生命周期管理,定期去删除元数据,期望能够减少 MySQL数据量,缓解元数据库的压力。...但是经过调研,我们发现两种方案都有一定的缺陷: 对 MySQL 进行分库分表,首先面临的直接问题就是需要修改 Metastore 操作 MySQL 的接口,涉及大量高风险的改动,后续对 Hive 的升级也会更加复杂...存储不同的 MySQL 上,并且可能存在切分不均匀,导致各个子集群的负载不均衡的情况; 我们每天都会同步一份 MySQL数据 Hive,用作数据治理,生命周期管理等,同步是利用内部的数据同步平台...因此,除了将 MySQL数据原样 dump TiDB,几乎没有其他工作需要做; TiDB 由于其分布式的架构,在大数据集的表现远远优于 MySQL; TiDB 的可扩展性十分优秀,支持水平弹性扩展

    3K1816
    领券