Вот пример запроса Hive, который я выполняю. Вы можете видеть здесь 2 броска:

аюсь создать своего рода конвейер данных для переноса моих таблиц Hive в BigQuery. Hive работает на кластере Hadoop. Это мой текущий дизайн, на самом деле, это очень просто, это всего лишь сценарий оболочки:

для каждой таблицы source_hive_table {

INSERT таблица перезаписиtarget_avro_hive_table SELECT * FROM source_hive_table;Переместите полученные файлы avro в облачное хранилище Google, используяdistcpСоздать первую таблицу BQ:bq load --source_format=AVRO your_dataset.something something.avroОбрабатывайте любые проблемы приведения из самого BigQuery, поэтому выбирайте из только что написанной таблицы и обрабатывайте вручную все приведения

}

Как вы думаете, это имеет смысл? Есть ли лучший способ, возможно, с помощью Spark? Я не доволен тем, как я справляюсь с кастингом, я хотел бы избежать создания таблицы BigQuery дважды.

 Graham Polley29 окт. 2017 г., 00:11
Лучший / самый простой способ перехода с любой другой БД на BigQuery - это экспортировать (например, CSV), загружать в GCS и импортировать. Готово.

Ответы на вопрос(1)

Лично я предпочитаю делать CAST для определенных типов непосредственно в начальном «запросе Hive», который генерирует ваши данные Avro (Hive). Например, "десятичный"введите в Hive карты типа Avro:"Тип": "байт", "logicalType": "Десятичная", "точность": 10, "масштаб": 2

И BQ просто возьмет основной тип (здесь «байты») вместо логического типа. Вот почему мне легче разыгрывать непосредственно в Hive (здесь, чтобы "удвоить"). Та же проблема происходит с типом даты и улья.

 Sourygna31 окт. 2017 г., 16:37
Вот пример запроса Hive, который я выполняю. Вы можете видеть здесь 2 броска:CREATE TABLE sluangsay.xxxx STORED AS AVRO AS select cast( itemordervalue as double), hit_time_gmt, cast( datedir as string), post_cookies from tst_bidwh.xxx_source where datedir = '2017-03-24';
 Edge731 окт. 2017 г., 16:15
Можете ли вы разработать «АКТЕРЫ в начальный запрос улья»? Моя проблема, например, в сопоставлении между временной меткой Avro и временной меткой BQ.

Ваш ответ на вопрос