Gostaria de saber como posso mudar a data do Hive para o MySQL?
Eu vi exemplos de como mover dados de seção para o Amazon DynamoDB, mas não para um RDBMS como o MySQL. Aqui está o exemplo que eu vi com o DynamoDB:
CREATE EXTERNAL TABLE tbl1 ( name string, location string )
STORED BY "org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler"
TBLPROPERTIES ("dynamodb.table.name" = "table",
"dynamodb.column.mapping" = "name:name,location:location") ;
Eu gostaria de fazer o mesmo, mas com o MySQLem vez de. Será que preciso codificar meu próprio StorageHandler? Eu também não quero usar o sqoop. Quero poder fazer minha consulta diretamente no meu script HiveQL.
Respostas:
4 para resposta № 1No momento, você precisa de um JDBC StorageHandler, que ainda não foi criado, mas pode criar o seu próprio.
Atualmente, existe um relatório de problemas para esse assunto, que você pode acompanhar aqui:
https://issues.apache.org/jira/browse/HIVE-1555
1 para resposta № 2
Você já tentou usar Sqoop?. É uma boa ferramenta para fazer esse tipo de coisa.
1 para resposta № 3
Existem muitas opções. Você pode baixar os arquivos no hive como arquivo csv e tentar inserir em massa nas tabelas mysql. Você pode usar o Sqoop. Ou você pode usar algumas das ferramentas ETL populares, como Pentaho e muitos outros.