【发布时间】:2022-01-21 09:49:39
【问题描述】:
我正在尝试减小我拥有的数据框的大小。
源数据是经过 gzip 压缩的 JSON,大约为 . s3 中 20 GB,每行如下所示:
{"timestamp":"1633121635","name":"www.hello.com","type":"a","value":"ipv4:1.1.1.1"}
我正在使用pandas.read_json 分块读取它,然后删除我不想要的键,例如
for df in pd.read_json(s3_source_data_location,
lines=True,
chunksize=20000000):
df.drop('timestamp', axis=1, inplace=True)
df.drop('type', axis=1, inplace=True)
我知道我可以尝试通过摆弄“值”和“名称”的数据类型来减小大小,但我想先看看我是否只能读取我想要的键。
pandas.read_csv 有一个 'usecols' 参数,您可以在其中指定要读取的列。希望有一种方法可以用 JSON 做到这一点。
【问题讨论】:
标签: python json pandas amazon-s3 bigdata