日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

sqoop mysql parquet_Sqoop抽取Hive Parquet表数据到MySQL异常分析

發布時間:2025/3/11 数据库 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sqoop mysql parquet_Sqoop抽取Hive Parquet表数据到MySQL异常分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

溫馨提示:要看高清無碼套圖,請使用手機打開并單擊圖片放大查看。

Fayson的github:https://github.com/fayson/cdhproject

1.問題描述

在CDH集群中我們需要將Hive表的數據導入到RDBMS數據庫中,使用Sqoop工具可以方便的將Hive表數據抽取到RDBMS數據庫中,在使用Sqoop抽取Hive Parquet表時作業執行異常。

Sqoop抽數腳本:

sqoopexport \

--connect jdbc:mysql://localhost:3306/test_db \

--username root \

--password123456\

--table mytest_parquet \

--export-dir /user/hive/warehouse/mytest_parquet \

-m1

異常日志:

17/12/1701:18:52 ERROR sqoop.Sqoop: Got exception running Sqoop: org.kitesdk.data.DatasetNotFoundException: Descriptor location does not exist: hdfs://nameservice1/user/hive/warehouse/mytest_parquet/.metadataorg.kitesdk.data.DatasetNotFoundException:Descriptor location does not exist: hdfs://nameservice1/user/hive/warehouse/mytest_parquet/.metadataatorg.kitesdk.data.spi.filesystem.FileSystemMetadataProvider.checkExists(FileSystemMetadataProvider.java:562)atorg.kitesdk.data.spi.filesystem.FileSystemMetadataProvider.find(FileSystemMetadataProvider.java:605)atorg.kitesdk.data.spi.filesystem.FileSystemMetadataProvider.load(FileSystemMetadataProvider.java:114)atorg.kitesdk.data.spi.filesystem.FileSystemDatasetRepository.load(FileSystemDatasetRepository.java:197)atorg.kitesdk.data.Datasets.load(Datasets.java:108)atorg.kitesdk.data.Datasets.load(Datasets.java:140)atorg.kitesdk.data.mapreduce.DatasetKeyInputFormat$ConfigBuilder.readFrom(DatasetKeyInputFormat.java:92)atorg.kitesdk.data.mapreduce.DatasetKeyInputFormat$ConfigBuilder.readFrom(DatasetKeyInputFormat.java:139)atorg.apache.sqoop.mapreduce.JdbcExportJob.configureInputFormat(JdbcExportJob.java:84)atorg.apache.sqoop.mapreduce.ExportJobBase.runExport(ExportJobBase.java:429)atorg.apache.sqoop.manager.SqlManager.exportTable(SqlManager.java:931)atorg.apache.sqoop.tool.ExportTool.exportTable(ExportTool.java:80)atorg.apache.sqoop.tool.ExportTool.run(ExportTool.java:99)atorg.apache.sqoop.Sqoop.run(Sqoop.java:147)atorg.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)atorg.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183)atorg.apache.sqoop.Sqoop.runTool(Sqoop.java:234)atorg.apache.sqoop.Sqoop.runTool(Sqoop.java:243)atorg.apache.sqoop.Sqoop.main(Sqoop.java:252)[ec2-user@ip-172-31-22-86~]$

2.解決方法

1.將Sqoop抽數腳本修改為如下:

sqoopexport \

--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-mappers1

參數說明:

--table:MySQL庫中的表名

--hcatalog-database:Hive中的庫名

--hcatalog-table:Hive庫中的表名,需要抽數的表

--num-mappers:執行作業的Map數

2.修改后執行抽數作業

作業執行成功。

3.查看MySQL表數據

3.總結

目前通過Sqoop從Hive的parquet抽數到關系型數據庫的時候會報kitesdk找不到文件的錯,這是Sqoop已知的問題,參考SQOOP-2907:

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

該jira目前并沒有修復,如果要實現該功能,需要參考第二章的做法,使用hcatalog參數指定到Hive表。

為天地立心,為生民立命,為往圣繼絕學,為萬世開太平。

溫馨提示:要看高清無碼套圖,請使用手機打開并單擊圖片放大查看。

您可能還想看

安裝

安全

數據科學

其他

推薦關注Hadoop實操,第一時間,分享更多Hadoop干貨,歡迎轉發和分享。

原創文章,歡迎轉載,轉載請注明:轉載自微信公眾號Hadoop實操

總結

以上是生活随笔為你收集整理的sqoop mysql parquet_Sqoop抽取Hive Parquet表数据到MySQL异常分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。