我阅读了其他类似的主题并在 Google 上搜索以找到更好的方法,但找不到任何可行的解决方案。
我在 BigQuery 中有一个大表(假设每天插入 2000 万行)。我想在 python/pandas/dask 中有大约 2000 万行数据和大约 50 列来做一些分析。我曾尝试使用 bqclient、panda-gbq 和 bq 存储 API 方法,但在 python 中拥有 500 万行需要 30 分钟。有没有其他方法可以做到这一点?甚至任何谷歌服务都可以做类似的工作?
我有一个带有日期格式列的熊猫数据框,如下所示:
PublishDateTime= 2018-08-31 12:00:00-UTC
Run Code Online (Sandbox Code Playgroud)
我使用 panda to_gbq() 函数将数据转储到 bigquery 表中。在转储数据之前,我确保列的格式与表方案匹配。发布日期是 bigquery 表中的时间戳。如何实现类似于:
df['PublishDateTime'] = df['PublishDateTime'].astype('?????')
Run Code Online (Sandbox Code Playgroud)
我试过了,datetime[ns]但没有用!
我有一个带有日期格式列的熊猫数据框,如下所示:
PublishDate= 2018-08-31 我使用panda to_gbq() 函数将数据转储到bigquery 表中。在转储数据之前,我确保列的格式与表方案匹配。发布日期仅是 bigquery 表中的日期。如何实现类似于:
df['PublishDate'] = df['PublishDate'].astype('?????')
Run Code Online (Sandbox Code Playgroud)
我试过 datetime64[D] 和
df['PublishDate'] = pd.to_datetime(df['PublishDate'], format='%Y-%m-%d', errors='coerce').dt.date
df['PublishDate'] = [time.to_date() for time in df['PublishDate']]
Run Code Online (Sandbox Code Playgroud)
但那些没有用!
假设存储大小很重要:我有一长串要写入文件的数字(0-9)。从存储的角度来看,使用ASCII或UTF-8作为编码会更有效吗?是否可以使用其他方法创建较小的文件?