Consideraciones relacionadas con el uso de Sqoop en Amazon EMR
Tenga en cuenta los siguientes elementos al ejecutar Sqoop en Amazon EMR.
Uso de Sqoop con la integración de HCatalog
Sqoop en Amazon EMR admite la integración de HCatalog con Sqoopmapred.output.direct.NativeS3FileSystem
y mapred.output.direct.EmrFileSystem
en false
. Para obtener más información, consulte Uso de HCatalog. Puede utilizar los comandos -D mapred.output.direct.NativeS3FileSystem=false
y -D
mapred.output.direct.EmrFileSystem=false
de Hadoop. Si no se desactiva la escritura directa, no se produce ningún error, pero la tabla se crea en Amazon S3 y no se escriben datos.
Compatibilidad con JDBC y bases de datos de Sqoop
De forma predeterminada, Sqoop tiene instalado un controlador de MariaDB y PostgresSQL. El controlador de PostgresSQL instalado para Sqoop solo funciona en PostgreSQL 8.4. Para instalar un conjunto alternativo de conectores JDBC para Sqoop, conéctese al nodo principal del clúster e instálelos en /usr/lib/sqoop/lib
. A continuación se indican los enlaces para diversos conectores JDBC:
-
MariaDB: About MariaDB Connector/J
. -
PostgreSQL: controlador de JDBC PostgreSQL
. -
SQLServer: Descargar el controlador de JDBC de Microsoft para SQL Server
. -
MySQL: Download Connector/J
-
Oracle: Obtener controladores de JDBC de Oracle y UCP del repositorio de Oracle Maven
Las bases de datos compatibles para Sqoop se muestran en la siguiente URL: http://sqoop.apache.org/docs/versión
/SqoopUserGuide.html#_supported_databases, donde versión
es la versión de Sqoop que se utiliza, por ejemplo, la 1.4.6. Si la cadena de conexión de JDBC no coincide con ninguna de las cadenas de esta lista, debe especificar un controlador.
Por ejemplo, puede exportar a una tabla de base de datos de Amazon Redshift con el siguiente comando (para 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
Puede utilizar las cadenas de conexión de MariaDB y MySQL, pero si especifica la cadena de conexión de MariaDB, tiene que especificar el controlador:
sqoop export --connect jdbc:mariadb://$
HOSTNAME
:3306/mydb
--tablemysqoopexport
--export-dir s3://amzn-s3-demo-bucket/myinputfiles/
--driver org.mariadb.jdbc.Driver --usernamemaster
--passwordMymasterpass1
Si utiliza el cifrado de Capa de conexión segura para acceder a la base de datos, tiene que utilizar un URI de JDBC como en el siguiente ejemplo de exportación de Sqoop:
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
Para más información sobre el cifrado SSL en RDS, consulte Uso de SSL para cifrar una conexión a una instancia de base de datos en la Guía del usuario de Amazon RDS.
Para obtener más información, consulte la documentación de Apache Sqoop
Cómo proteger la contraseña
Hay varios métodos entre los cuales podría elegir para asegurarse de transferir su contraseña de forma segura: