我想知道如何创建一个python脚本来访问BigQuery数据库。 我找到了很多脚本但不是一个完整的脚本。
所以,我希望有一个标准脚本来连接项目并对特定表进行查询并从中创建一个csv文件。
感谢您的帮助。 杰罗姆。
componentWillMount() {
navigator.geolocation.getCurrentPosition(
(position) => {
this.setState({
lat: position.coords.latitude,
long: position.coords.longitude,
error: null,
}, () => {
this.props.getConditions(lat, long)
});
},
(error) => this.setState({ error: error.message }),
{ enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 },
);
}
答案 0 :(得分:0)
BigQuery支持CSV,JSON和Avro格式。
嵌套或重复的数据无法导出为CSV,但可以导出为JSON或Avro格式。
根据谷歌文档 - Google Document
尝试其他格式。
from google.cloud import bigquery
from google.cloud.bigquery.job import DestinationFormat, ExtractJobConfig, Compression
def export_table_to_gcs(dataset_id, table_id, destination):
"""
Exports data from BigQuery to an object in Google Cloud Storage.
For more information, see the README.rst.
Example invocation:
$ python export_data_to_gcs.py example_dataset example_table \\
gs://example-bucket/example-data.csv
The dataset and table should already exist.
"""
bigquery_client = bigquery.Client()
dataset_ref = bigquery_client.dataset(dataset_id)
table_ref = dataset_ref.table(table_id)
job_config = ExtractJobConfig()
job_config.destination_format = DestinationFormat.NEWLINE_DELIMITED_JSON
job_config.compression = Compression.GZIP
job = bigquery_client.extract_table(table_ref, destination, job_config=job_config)
job.result(timeout=300) # Waits for job to complete
print('Exported {}:{} to {}'.format(dataset_id, table_id, destination))