如何解决使用 Sqoop 将 Amazon RDS 数据以 Parquet 格式导出至 Amazon S3 时发生的 Unknown dataset URI pattern: dataset(未知的数据集 URI 模式:数据集)错误?

上次更新日期:2022 年 3 月 1 日

我尝试使用 Amazon EMR 集群通过 Apache Sqoop 以 Apache Parquet 格式将 Amazon Relational Database Service (Amazon RDS) 数据导出至 Amazon Simple Storage Service (Amazon S3)。我使用 --as-parquetfile 参数,但一直收到以下错误:

Check that JARs for s3a datasets are on the class path org.kitesdk.data.DatasetNotFoundException: Unknown dataset URI pattern: dataset.(检查 s3a 数据集的 JAR 是否在类路径 org.kitesdk.data.DatasetNotFoundException 中:未知的数据集 URI 模式:数据集。)

简短描述

此错误对 Sqoop 版本 1.4.7 造成影响。要解决此错误,请下载并安装 kite-data-s3-1.1.0.jar

解决方法

注意:以下解决方案已在 Amazon EMR 发行版本 5.34.0 和 Sqoop 版本 1.4.7 上进行测试。

1.    使用 SSH 连接到主节点

2.    使用 wget 下载 kite-data-s3-1.1.0.jar

[hadoop@ip-xxx-xx-xx-x]$ wget https://repo1.maven.org/maven2/org/kitesdk/kite-data-s3/1.1.0/kite-data-s3-1.1.0.jar

3.    确认下载的文件大小正确 (1.7 MB):

[hadoop@ip-xxx-xx-xx-x]$ du -h
1.7M     /usr/lib/sqoop/lib/kite-data-s3-1.1.0.jar

4.    将 JAR 移动到 Sqoop 库目录 (/usr/lib/sqoop/lib/) 中:

sudo cp kite-data-s3-1.1.0.jar /usr/lib/sqoop/lib/

5.    授予对 JAR 的权限:

sudo chmod 755 kite-data-s3-1.1.0.jar

6.    使用 s3n 连接器导入 jar。如果使用 s3 连接器,您将收到Unknown dataset URI pattern: dataset(未知的数据集 URI 模式:数据集)错误。

sqoop import --connect jdbc:mysql://mysql.cdfqbesrukqe.eu-west-1.rds.amazonaws.com:8193/dev --username admin -P --table hist_root --target-dir "s3n://awsexamplebucket/sqoop_parquet/demo" --as-parquetfile -m 2 --split-by identifiers -- --schema onwatch

有关 Kite SDK 数据集 URI 的更多信息,请参阅《数据集、视图和存储库 URI》。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?