Chciałbym wiedzieć, jak mogę przenieść datę z Hive do MySQL?
Widziałem przykład, jak przenieść dane gałęzi do Amazon DynamoDB, ale nie dla RDBMS, takich jak MySQL. Oto przykład, który widziałem w 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") ;
Chciałbym zrobić to samo, ale z MySQLzamiast. Zastanawiam się, czy muszę kodować mój własny StorageHandler? Nie chcę też używać sqoop. Chcę móc wykonać moje zapytanie bezpośrednio w skrypcie HiveQL.
Odpowiedzi:
4 dla odpowiedzi № 1Obecnie potrzebujesz JDBC StorageHandler, który nie został jeszcze utworzony, ale możesz zbudować własny.
Obecnie istnieje raport na ten temat, który można śledzić tutaj:
https://issues.apache.org/jira/browse/HIVE-1555
1 dla odpowiedzi nr 2
Czy próbowałeś użyć? Sqoop?. To dobre narzędzie do robienia takich rzeczy.
1 dla odpowiedzi nr 3
Istnieje wiele opcji. Możesz pobrać pliki w gałęzi jako plik csv, a następnie spróbować wstawić zbiorczo do tabel mysql. Możesz użyć Sqoop. Możesz też skorzystać z niektórych popularnych narzędzi ETL, takich jak Pentaho i wielu innych.