这件事我已经做了两天了,还没弄明白。这是我第一次涉足谷歌云平台。我想以最简单的方式做以下两件事:
在开始之前,请允许我提供一些上下文:我想从以下位置提取数据:
NYC Taxi and Limousine Commission或https://www1.nyc.gov/site/tlc/about/tlc-trip-record-data.page
我感兴趣的是从2019年开始的所有月份(12个csv文件,+10GB)。我想把这12个csv文件放到谷歌云平台和谷歌存储中,以便以后在BigQuery/Dataprep中处理。由于文件大小的原因,不能在本地存储这些文件
第一件事-除了多个.csv文件外,是否有方法使用-wget命令导入这些文件?根据我的研究,-wget更适合于拉入单个zip文件或单个(或几个)单独的文件。出租车网站中的数据不是压缩的,而是以csv格式按月提供的
第二件事-如果-wget选项不是一个可伸缩选项,我创建了一个python文件,其中包含一个脚本,用于从我前面提到的12个月(2019年)的网站中提取/刮取数据。我使用的脚本如下所示:
import requests
import shutil
filenames = [ # probably could loop through these .._YYYY-MM
'https://s3.amazonaws.com/nyc-tlc/trip+data/yellow_tripdata_2019-01.csv',
'https://s3.amazonaws.com/nyc-tlc/trip+data/yellow_tripdata_2019-02.csv',
'https://s3.amazonaws.com/nyc-tlc/trip+data/yellow_tripdata_2019-03.csv',
'https://s3.amazonaws.com/nyc-tlc/trip+data/yellow_tripdata_2019-04.csv',
'https://s3.amazonaws.com/nyc-tlc/trip+data/yellow_tripdata_2019-05.csv',
'https://s3.amazonaws.com/nyc-tlc/trip+data/yellow_tripdata_2019-06.csv',
'https://s3.amazonaws.com/nyc-tlc/trip+data/yellow_tripdata_2019-07.csv',
'https://s3.amazonaws.com/nyc-tlc/trip+data/yellow_tripdata_2019-08.csv',
'https://s3.amazonaws.com/nyc-tlc/trip+data/yellow_tripdata_2019-09.csv',
'https://s3.amazonaws.com/nyc-tlc/trip+data/yellow_tripdata_2019-10.csv',
'https://s3.amazonaws.com/nyc-tlc/trip+data/yellow_tripdata_2019-11.csv',
'https://s3.amazonaws.com/nyc-tlc/trip+data/yellow_tripdata_2019-12.csv',
]
for x in filenames:
r = requests.get(x, stream = True)
if r.status_code == 200:
with open(x.split('_')[-1], 'wb') as f:
r.raw.decode_content = True
shutil.copyfileobj(r.raw, f)
如何在Google云平台中使用这个Python脚本将这12个csv文件“导入”到Google存储中,以便在BigQuery和Dataprep中使用?我尝试使用SSH命令行并激活了conda,但仍然无法解决这个问题(即使在查看了googlecloud平台用户/参考指南之后)
也许有人能帮助我。感谢您提供的任何帮助!:)
对于一次性将这些文件加载到云存储中,我建议创建一个计算引擎VM,然后下载,然后使用
gsutil
上传。计算引擎虚拟机具有高带宽连接,应该能够顺利下载/上传10GBcurl
的示例,但是您也可以使用wget
或在Python中使用requests
库来实现李>gsutil
一起上载另一个选择是Storage Transfer Service。我还没有亲自使用过该服务,但它似乎适合这个用例
相关问题 更多 >
编程相关推荐