1.问题描述


在CDH集群中我们需要将Hive表的数据导入到RDBMS数据库中,使用Sqoop工具可以方便的将Hive表数据抽取到RDBMS数据库中,在使用Sqoop抽取Hive Parquet表时作业执行异常。

Sqoop抽数脚本:

sqoop export \
--connect jdbc:mysql://localhost:3306/test_db \
--username root \
--password \
--table mytest_parquet \
--export-dir /user/hive/warehouse/mytest_parquet \
-m

异常日志:

Sqoop: org.kitesdk.data.DatasetNotFoundException: Descriptor location does not exist: hdfs://nameservice1/user/hive/warehouse/mytest_parquet/.metadata
Exception: Descriptor location does not exist: hdfs://nameservice1/user/hive/warehouse/mytest_parquet/.metadata
at org.kitesdk.FileSystemMetadataProvider.checkExists(FileSystemMetadataProvider.java:)
at org.kitesdk.FileSystemMetadataProvider.find(FileSystemMetadataProvider.java:)
at org.kitesdk.ileSystemMetadataProvider.load(FileSystemMetadataProvider.java:)
at org.kitesdk.FileSystemDatasetRepository.load(FileSystemDatasetRepository.java:)
at org.kitesdk.data.Datasets.load(Datasets.java:)
at org.kitesdk.data.Datasets.load(Datasets.java:)

2.解决方法


1.将Sqoop抽数脚本修改为如下:

sqoop export \
--connect jdbc:mysql://ip-172-31-22-86.ap-southeast-1.compute.internal:3306/test_db \
--username testuser \
--password password \
--table mytest_parquet \
--hcatalog-database default \
--hcatalog-table mytest_parquet --num-mappers 1

参数说明:

--table:MySQL库中的表名

--hcatalog-database:Hive中的库名

--hcatalog-table:Hive库中的表名,需要抽数的表

--num-mappers:执行作业的Map数

作业执行成功。

3.总结


目前通过Sqoop从Hive的parquet抽数到关系型数据库的时候会报kitesdk找不到文件的错,这是Sqoop已知的问题,参考SQOOP-2907:

https://issues.apache.org/jira/browse/SQOOP-2907

该jira目前并没有修复,如果要实现该功能,需要参考第二章的做法,使用hcatalog参数指定到Hive表。

sqoop无法导出parquet文件到mysql的更多相关文章

  1. MYSQL导入导出.sql文件

    MYSQL导入导出.sql文件   一.MYSQL的命令行模式的设置:桌面->我的电脑->属性->环境变量->新建->PATH=“:path\mysql\bin;”其中p ...

  2. mysql查询结果导出到文件

    方法一: 直接执行命令: mysql> select count(1) from table   into outfile '/tmp/test.xls'; Query OK, 31 rows ...

  3. 命令行模式下 MYSQL导入导出.sql文件的方法

    一.MYSQL的命令行模式的设置:桌面->我的电脑->属性->环境变量->新建->PATH=“:path\mysql\bin;”其中path为MYSQL的安装路径.二.简 ...

  4. mysql 导入导出.sql文件

    备份数据库(包含全部表和全部存储过程):C:\Documents and Settings\Administrator>mysqldump -h localhost -u root -p -R ...

  5. MYSQL导入导出.sql文件(转)

    一.MYSQL的命令行模式的设置: 桌面->我的电脑->属性->环境变量->新建-> PATH=“:path\mysql\bin;”其中path为MYSQL的安装路径. ...

  6. mysql 导入导出sql文件

    使用mysqldump导出sql文件 目前清楚的mysqldump语法是: mysqldump -h[hostname] -u[username] -p [databasename] > [sq ...

  7. mysql导入导出.sql文件 备份还原数据库

    从数据库导出数据库文件:   进入你的MySQL的安装目录的bin目录或者在C盘的根目录都行,我选的是在bin目录下,下面的例子出第一个外将以在C盘的根目录来讲解   我的mysql安装在了C盘,C: ...

  8. [记录]MySQL 查询无法导出到文件

    很多时候我们需要将数据导出到 xls文件, 然后交给数据分析师分析. 而这个查询数据+导出的动作,理应使用一个有只读权限的用户使用. 但查询某表时: select * from table ,此用户可 ...

  9. 【Mysql+shell】查询结果导出到文件,文件数据导入到数据库

    Shell: 执行Mysql查询,并将查询结果导出到文件 直接使用Mysql执行查询 mysql> use xxx_dbName; mysql> select * from log_06 ...

随机推荐

  1. jQuery实现回车绑定Tab事件

    有时候我们希望回车事件绑定的是键盘的Tab事件.我的第一思路就是切换事件的keyCode,比如键盘事件按下的keyCode如果是13,我们将keyCode改为9.但是在实际编程中却未能实现此效果.于是 ...

  2. 系统更新报错--NO_PUBKEY

    错误信息 W: An error occurred during the signature verification. The repository is not updated and the p ...

  3. C# 判断网络是否连接

    bool isconn = true; PingReply pr; Ping ping = new Ping(); pr = ping.Send("lightyiyi.cn"); ...

  4. Scrapy快速上手

    超详细官方教程解析 https://blog.csdn.net/fly_yr/article/details/51540269 实战过程: 创建一个Scrapy项目 定义提取的Item 编写爬取网站的 ...

  5. pt-table-checksum 使用方法【转】

    27. pt-table-checksum27.1 pt-table-checksum 作用 主要用来检查主从数据是否一致,原理即在主库执行把表每行的列通过concat函数进行拼接,然后对拼接的值进行 ...

  6. flask与数据库连接相关操作

    ---恢复内容开始--- 首先要安装  flask-sqlalchemy 数据库连接设置 在flask-SQLAlchemy中,数据库使用URL指定,而且程序使用的数据库必须保存到flask配置对象的 ...

  7. C++怎么实现线程安全

    muduo库学习笔记1-C++多线程系统编程 网上都说这本书很适合初学者入门学习, 我今天开始准备从头再来; 第一章线程安全的对象管理 对象的生与死不能由对象自身拥有的mutex(互斥器)来保护; 如 ...

  8. gnutls-3.5.18 static building for windows

    gnutls-3.5.18 static building for windows Required libraries:1. libnettle 2. gmplib Optional librari ...

  9. elasticsearch5.0.1集群排错的几个思路总结

    1.首先查看集群整体健康状态 # curl -XGET http://10.27.35.94:9200/_cluster/health?pretty { "cluster_name" ...

  10. FreeSWITCH 增删模组

    今天在尝试FreeSWITCH新功能时,遇到一个问题,就是该功能所需要的模组没有加载,导致写了好久的代码不能看到效果,让人很是忧伤啊! 再此,将FS模组增删的方法记录下,以方便遇到同样问题的童鞋. 具 ...