Загрузите таблицу из большого запроса в искровой кластер с помощью сценария pyspark

У меня есть таблица данных, загружаемая в bigquery, и я хочу импортировать ее в своем искровом кластере через файл pyspark .py.

Я видел в примерах Dataproc + BigQuery – любой доступный? что существует способ загрузить таблицу bigquery в искровом кластере scala, но есть ли способ сделать это в сценарии pyspark?

One Solution collect form web for “Загрузите таблицу из большого запроса в искровой кластер с помощью сценария pyspark”

Это происходит от @MattJ в этом вопросе . Вот пример подключения к BigQuery в Spark и выполнения подсчета слов.

import json import pyspark sc = pyspark.SparkContext() hadoopConf=sc._jsc.hadoopConfiguration() hadoopConf.get("fs.gs.system.bucket") conf = {"mapred.bq.project.id": "<project_id>", "mapred.bq.gcs.bucket": "<bucket>", "mapred.bq.input.project.id": "publicdata", "mapred.bq.input.dataset.id":"samples", "mapred.bq.input.table.id": "shakespeare" } tableData = sc.newAPIHadoopRDD( "com.google.cloud.hadoop.io.bigquery.JsonTextBigQueryInputFormat", "org.apache.hadoop.io.LongWritable", "com.google.gson.JsonObject", conf=conf).map(lambda k: json.loads(k[1])).map(lambda x: (x["word"], int(x["word_count"]))).reduceByKey(lambda x,y: x+y) print tableData.take(10) 

Вам нужно будет изменить <project_id> и <bucket> в соответствии с настройками вашего проекта.

Python - лучший язык программирования в мире.