我知道我应该有一个代码,但我还没有什么有用的。
我的 GCS 上有大约 300GB 的 JSON文件,gs://path/listings_all.json
最终我试图将它导入 BigQuery,但它有一些错误的数据结构(我是mongoexport
从 MongoDB 获取的)
无效的字段名称“$date”。字段只能包含字母、数字和下划线,以字母或下划线开头,长度最多为 128 个字符
所以,现在我的方法是以某种方式从 GCS 进程中逐行读取源文件,并使用 python API 将每个处理的行上传到 BigQuery。
在简单的阅读器下面,我用原始大文件中的 100 行样本进行了测试:
import json
from pprint import pprint
with open('schema_in_10.json') as f:
for line in f:
j_content = json.loads(line)
# print(j_content['id'], j_content['city'], j_content['country'], j_content['state'], j_content['country_code'], j_content['smart_location'], j_content['address'], j_content['market'], j_content['neighborhood'])
# // geo { lat, lng}'])
print('------')
pprint(j_content['is_location_exact'])
pprint(j_content['zipcode'])
pprint(j_content['name'])
您能否帮助我了解如何使用 Python3 从 Google Cloud Storage 逐行读取或流式传输巨大的 JSON?