【发布时间】:2019-11-19 04:41:57
【问题描述】:
从官方文档中可以看出,它先将表加载到Spark DataFrame中,然后使用.sql()进行查询。
words = spark.read.format('bigquery') \
.option('table', 'bigquery-public-data:samples.shakespeare') \
.load()
words.createOrReplaceTempView('words')
# Perform word count.
word_count = spark.sql(
'SELECT word, SUM(word_count) AS word_count FROM words GROUP BY word')
word_count.show()
word_count.printSchema()
我可以通过根据查询结果加载表来做类似的事情吗?这是我将 BigQuery 结果加载到 Pandas DataFrame 的代码。
sql_query = 'Some Queries'
credentials, project = google.auth.default(scopes=[
'https://www.googleapis.com/auth/drive',
'https://www.googleapis.com/auth/bigquery',
])
client = bigquery.Client(credentials=credentials, project=project)
df = client.query(sql_query).to_dataframe()
我知道我们可以将 Pandas DataFrame 转换为 Spark DataFrame。我正在寻找一种更清洁、更快捷的方式。
【问题讨论】:
标签: python pandas apache-spark google-bigquery