本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Sqoop on Amazon 的考量事項 EMR
當您在 Amazon 上執行 Sqoop 時,請考慮下列項目EMR。
搭配HCatalog整合使用 Sqoop
Amazon 上的 Sqoop EMR支援 Sqoop HCatalog整合 mapred.output.direct.NativeS3FileSystem
和 mapred.output.direct.EmrFileSystem
屬性設定為 來停用 Amazon EMR直接寫入false
。如需詳細資訊,請參閱使用 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:關於 MariaDB Connector/J
。 -
Postgre SQL:PostgreSQL JDBC驅動程式
。 -
SQLServer:下載SQL伺服器 的 Microsoft JDBC驅動程式
。 -
我的 SQL:下載連接器/J
Sqoop 支援的資料庫列於下列 URL:https://http://sqoop.apache.org/docs/version
/SqoopUserGuide.html#_supported_databases,其中 version
是您正在使用的 Sqoop 版本,例如 1.4.6。如果JDBC連線字串與此清單中的字串不相符,您必須指定驅動程式。
例如,您可以使用下列命令 (適用於 JDBC 4.1) 匯出至 Amazon Redshift 資料庫資料表:
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 匯出範例中使用JDBCURI類似 :
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
如需 中SSL加密的詳細資訊RDS,請參閱 Amazon RDS使用者指南中的使用 SSL來加密與資料庫執行個體的連線。
如需詳細資訊,請參閱 Apache Sqoop
保護密碼
您可以選擇以下幾種方法來安全地傳遞密碼: