Как импортировать файл CSV в Cloud Bigtable через Cloud Dataflow с Python? - PullRequest
2 голосов
/ 09 марта 2019

Самый простой способ описать то, что я делаю, - это, по сути, следовать этому руководству: Импортировать файл CSV в таблицу Cloud Bigtable , но в разделе, где они запускают задание потока данных, они используют Java:

mvn package exec:exec \
    -DCsvImport \
    -Dbigtable.projectID=YOUR_PROJECT_ID \
    -Dbigtable.instanceID=YOUR_INSTANCE_ID \
    -Dbigtable.table="YOUR_TABLE_ID" \
    -DinputFile="YOUR_FILE" \
    -Dheaders="YOUR_HEADERS"

Есть ли способ сделать этот конкретный шаг в Python?Самым близким, что я смог найти, был apache_beam.examples.wordcount пример здесь , но в конечном итоге я хотел бы увидеть некоторый код, где я могу добавить некоторые настройки в задание потока данных с использованием Python.

Ответы [ 3 ]

3 голосов
/ 14 марта 2019

Имеется разъем для записи в Cloud Bigtable , который можно использовать в качестве отправной точки для импорта файлов CSV.

0 голосов
/ 11 марта 2019

Я бы предложил сделать что-то подобное.

DataFrame.to_gbq(destination_table, project_id, chunksize=10000, verbose=True, reauth=False, if_exists='fail', private_key=None)

Все параметры и пояснения к ним вы найдете в ссылке ниже.

https://pandas.pydata.org/pandas-docs/version/0.21/generated/pandas.DataFrame.to_gbq.html#pandas.DataFrame.to_gbq

0 голосов
/ 09 марта 2019

Google Dataflow не имеет соединителя Python для BigTable.

Вот ссылка на соединители Apache Beam для Java и Python:

Встроенный ввод / выводПревращает

...