Amazon EMR에서 Sqoop에 대한 고려 사항
Amazon EMR에서 Sqoop을 실행할 때는 다음 사항을 고려합니다.
HCatalog 통합을 통해 Sqoop 사용
Amazon EMR 기반 Sqoop은 Sqoop-HCatalog 통합mapred.output.direct.NativeS3FileSystem
및 mapred.output.direct.EmrFileSystem
속성을 false
로 설정하여 Amazon EMR 직접 쓰기를 비활성화합니다. 자세한 내용은 HCatalog 사용 단원을 참조하십시오. Hadoop -D mapred.output.direct.NativeS3FileSystem=false
및 -D
mapred.output.direct.EmrFileSystem=false
명령을 사용할 수 있습니다. 직접 쓰기를 비활성화하지 않으면 오류는 발생하지 않지만 Amazon S3에 테이블이 생성되고 데이터는 기록되지 않습니다.
Sqoop JDBC 및 데이터베이스 지원
기본적으로 Sqoop에는 MariaDB 및 PostgreSQL 드라이버가 설치되어 있습니다. Sqoop용으로 설치된 PostgreSQL 드라이버는 PostgreSQL 8.4에서만 작동합니다. Sqoop용 대체 JDBC 커넥터 세트를 설치하려면 클러스터 마스터 노드에 연결하고 /usr/lib/sqoop/lib
에 설치하십시오. 다음은 다양한 JDBC 커넥터에 대한 링크입니다.
-
MariaDB: About MariaDB Connector/J
를 참조하십시오. -
PostgreSQL: PostgreSQL JDBC 드라이버
. -
SQLServer: SQL Server용 Microsoft JDBC Driver 다운로드
. -
MySQL: Download Connector/J
Sqoop용 지원 데이터베이스는 http://sqoop.apache.org/docs/version
/SqoopUserGuide.html#_supported_databases에서 확인할 수 있습니다. version
은 현재 사용하는 Sqoop의 버전입니다(예: 1.4.6). JDBC 연결 문자열이 이 목록에 나와 있는 것과 일치하지 않을 경우 드라이버를 지정해야 합니다.
예를 들면 다음 명령을 사용하여 Amazon Redshift 데이터베이스 테이블로 내보낼 수 있습니다(JDBC 4.1용).
sqoop export --connect jdbc:redshift://$
MYREDSHIFTHOST
:5439/mydb
--tablemysqoopexport
--export-dir s3://amzn-s3-demo-bucket/myinputfiles/
--driver com.amazon.redshift.jdbc41.Driver --usernamemaster
--passwordMymasterpass1
MariaDB 및 MySQL 연결 문자열을 둘 다 사용할 수는 있지만 MariaDB 연결 문자열을 지정할 경우 해당 드라이버를 지정해야 합니다.
sqoop export --connect jdbc:mariadb://$
HOSTNAME
:3306/mydb
--tablemysqoopexport
--export-dir s3://amzn-s3-demo-bucket/myinputfiles/
--driver org.mariadb.jdbc.Driver --usernamemaster
--passwordMymasterpass1
Secure Socket Layer 암호화를 사용하여 데이터베이스에 액세스하려면 다음과 같은 Sqoop 내보내기 예제에서처럼 JDBC URI를 사용해야 합니다.
sqoop export --connect jdbc:mariadb://$
HOSTNAME
:3306/mydb
?verifyServerCertificate=false&useSSL=true&requireSSL=true --tablemysqoopexport
--export-dir s3://amzn-s3-demo-bucket/myinputfiles/
--driver org.mariadb.jdbc.Driver --usernamemaster
--passwordMymasterpass1
RDS에서 SSL 암호화에 대한 자세한 내용은 Amazon RDS 사용 설명서에서 SSL을 사용하여 DB 인스턴스에 대한 연결 암호화를 참조하세요.
자세한 내용은 Apache Sqoop
암호 변경
몇 가지 방법 중 하나를 선택하여 암호를 안전하게 전달할 수 있습니다.