Considerações com 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 com o Sqoop no Amazon EMR

Considere os seguintes itens ao executar o Amazon EMR.

Usando o Sqoop com a integração do HCatalog

O Sqoop no Amazon EMR oferece suporte à integração SQOOP-HCatalog. Ao usar o Sqoop para gravar a saída em uma tabela HCatalog no Amazon S3, desative a gravação direta do Amazon EMR definindo asmapred.output.direct.EmrFileSystem propriedadesmapred.output.direct.NativeS3FileSystem e comofalse. Para obter mais informações, consulteUso do HCatalog Você pode usar o Hadoop-D mapred.output.direct.NativeS3FileSystem=false e-D mapred.output.direct.EmrFileSystem=false os comandos. Se você não desabilitar a gravação direta, nenhum erro ocorrerá, mas a tabela será criada no Amazon S3 e nenhum dado será gravado.

Suporte a Sqoop JDBC e banco de dados

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 suportados pelo Sqoop estão listados no seguinte URL, http://sqoop.apache.org/docs/ version/SqoopUserGuide.html #_supported_databases, onde 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, você pode exportar para uma tabela de banco de dados do Amazon Redshift com o seguinte comando (para 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 criptografia SSL no RDS, consulte Usar SSL para criptografar uma conexão com uma instância de banco de dados no Guia do usuário do Amazon RDS.

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