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 Sqoop no Amazon EMR.

Usando o Sqoop com a integração do HCatalog

O Sqoop no Amazon EMR suportaIntegração do 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 amapred.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. Se você não desativar a gravação direta, nenhum erro ocorrerá, mas a tabela será criada no Amazon S3 e nenhum dado será gravado.

Suporte ao Sqoop JDBC e ao 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/versão/SqoopUserGuide.html #_supported_databases, ondeversãoé 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, consulteUsando 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.