Considerações sobre o Sqoop no Amazon EMR - Amazon EMR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Considerações sobre o Sqoop no Amazon EMR

Considere os seguintes itens quando executar o Sqoop no Amazon EMR.

Usar o Sqoop com integração ao HCatalog

O Sqoop no Amazon EMR oferece suporteIntegração do SQOOP-HCatalog. Quando você usa o Sqoop para gravar a saída em uma tabela HCatalog no Amazon S3, desabilite a gravação direta do Amazon EMR definindo a propriedademapred.output.direct.NativeS3FileSystememapred.output.direct.EmrFileSystempropriedades parafalse. Para obter mais informações, consulte Uso do HCatalog. Você pode usar o Hadoop-D mapred.output.direct.NativeS3FileSystem=falsee-D mapred.output.direct.EmrFileSystem=falseComandos do . Se você não desativar a gravação direta, não ocorrerá nenhum erro, mas a tabela será criada no Amazon S3 e os dados serão gravados.

Suporte de banco de dados para o Sqoop

Por padrão, o Sqoop tem um driver MariaDB e PostgreSQL instalado. O driver do PostgreSQL instalado para o Sqoop só funciona para o PostgreSQL 8.4. Para instalar um conjunto alternativo de conectores JDBC para o Sqoop, conecte-se ao nó principal do cluster e instale-o em /usr/lib/sqoop/lib. Veja a seguir links para vários conectores JDBC:

Os bancos de dados compatíveis com o Sqoop estão listados na url a seguir, http://sqoop.apache.org/docs/versão/SqoopUserGuide.html#_supported_databases, em que version é a versão do Sqoop que você está usando, por exemplo, 1.4.6. Se a string de conexão JDBC não corresponder às desta lista, você precisará especificar um driver.

Por exemplo, é possível exportar para uma tabela de banco de dados do Amazon Redshift com o seguinte comando (para o JDBC 4.1):

sqoop export --connect jdbc:redshift://$MYREDSHIFTHOST:5439/mydb --table mysqoopexport --export-dir s3://mybucket/myinputfiles/ --driver com.amazon.redshift.jdbc41.Driver --username master --password Mymasterpass1

Você pode usar ambas as strings de conexão MariaDB e MySQL, mas, se especificar a string de conexão MariaDB, precisará especificar o driver:

sqoop export --connect jdbc:mariadb://$HOSTNAME:3306/mydb --table mysqoopexport --export-dir s3://mybucket/myinputfiles/ --driver org.mariadb.jdbc.Driver --username master --password Mymasterpass1

Se você estiver usando a criptografia SSL para acessar seu banco de dados, precisará usar um URI do JDBC, como no seguinte exemplo de exportação do Sqoop:

sqoop export --connect jdbc:mariadb://$HOSTNAME:3306/mydb?verifyServerCertificate=false&useSSL=true&requireSSL=true --table mysqoopexport --export-dir s3://mybucket/myinputfiles/ --driver org.mariadb.jdbc.Driver --username master --password Mymasterpass1

Para obter mais informações sobre a criptografia SSL no RDS, consulteUsar o SSL para criptografar uma conexão com uma instância de banco de dadosno Guia do usuário do Amazon RDS.

Para obter mais informações, consulte a documentação do Apache Sqoop.