1

我在 Google Cloud Datalab 工作,我想将 Pandas 数据框导出为新的 BigQuery 表。我正在尝试遵循 Cloud Datalab 附带的在线帮助笔记本,但我可以看到没有导出到 BigQuery 的示例,仅导出到 Google Cloud Storage。

无论如何,我可以弄清楚如何使用正确的架构在 BigQuery 中创建表,但我不知道如何将实际数据放入表中!

这就是我现在得到的:

dataset = bq.DataSet('calculations')
dataset.create(friendly_name='blah', 
               description='blah blah')
print 'Dataset exists', dataset.exists()

# Create the schema for the table we're about to create.
schema = bq.Schema.from_dataframe(measures[0]['data'])
print schema
print len(measures[0]['data'])

# Create a table for our results.
temptable = bq.Table('calculations.test').create(schema=schema, 
                                                 overwrite=True)

# How to export the actual data to the table?

所以这输出:

True
[{'type': 'STRING', 'name': u'id'}, {'type': 'STRING', 'name': ...
8173

显示我的数据框有 8173 行。

如果我转到 BigQuery,我会看到该表已使用正确的架构创建,但其中没有数据。

我如何实际在那里导出数据?

如果不可能,那么我可以改为导出到 Cloud Storage,尽管我已经尝试过并且遇到了同样的问题。我更愿意导出到 BigQuery。

4

1 回答 1

2

您需要致电:

temptable.insert_data(df)

其中 df 是您的 Pandas 数据框。

于 2015-12-17T20:15:50.183 回答