Sqoop을 사용하여 Amazon RDS 데이터를 Parquet 형식으로 Amazon S3로 내보낼 때 "Unknown dataset URI pattern: dataset" 오류를 해결하려면 어떻게 해야 합니까?

2분 분량
0

Amazon EMR 클러스터에서 Apache Sqoop을 사용하여 Amazon Relational Database Service(Amazon RDS) 데이터를 Apache Parquet 형식으로 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."

간략한 설명

이 오류는 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.7MB)인지 확인합니다.

[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 오류가 발생합니다.

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에 대한 자세한 내용은 Dataset, View, and Repository URIs를 참조하십시오.


AWS 공식
AWS 공식업데이트됨 2년 전