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

최종 업데이트 날짜: 2020년 5월 11일

Amazon EMR 클러스터에서 Apache Sqoop을 사용하여 Amazon RDS(Amazon Relational Database Service) 데이터를 Apache Parquet 형식으로 Amazon S3(Amazon Simple Storage Service)로 내보내려고 합니다. -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.28.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에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?