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-HCatalogmapred.output.direct.NativeS3FileSystem
emapred.output.direct.EmrFileSystem
propriedades parafalse
. Para obter mais informações, consulte Uso do HCatalog. Você pode usar o Hadoop-D mapred.output.direct.NativeS3FileSystem=false
e-D
mapred.output.direct.EmrFileSystem=false
comandos. 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:
-
MariaDB: Sobre o MariaDB Connector/J
. -
PostgreSQL:driver JDBC PostgreSQL
. -
Servidor SQL:Baixe o driver Microsoft JDBC para SQL Server
. -
MySQL: Download do Connector/J
-
Oráculo:Obtenha drivers Oracle JDBC e UCP do repositório Oracle Maven
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
--tablemysqoopexport
--export-dir s3://mybucket/myinputfiles/
--driver com.amazon.redshift.jdbc41.Driver --usernamemaster
--passwordMymasterpass1
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
--tablemysqoopexport
--export-dir s3://mybucket/myinputfiles/
--driver org.mariadb.jdbc.Driver --usernamemaster
--passwordMymasterpass1
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 --tablemysqoopexport
--export-dir s3://mybucket/myinputfiles/
--driver org.mariadb.jdbc.Driver --usernamemaster
--passwordMymasterpass1
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