BigQuery 加载较大的 CSV 文件失败
Posted
技术标签:
【中文标题】BigQuery 加载较大的 CSV 文件失败【英文标题】:BigQuery Load Fails on Larger CSV file 【发布时间】:2016-08-10 14:21:13 【问题描述】:我在 Google 的 BigQuery 上加载较大的文件时遇到问题。问题是当我加载的文件少于 1000 行时,它加载时没有任何错误,但是当我加载的文件超过 10000 行时,我收到加载错误。
BigQuery error in load operation: Error processing job '......': Too many errors encountered.
工作是从 Redshift 导出数据并将其加载到 BigQuery。以下是我的工作方式(步骤):
1. Using "Unload" command, I am exporting Redshift table (having more than 160 columns) as a CSV file into S3
2. Transferring data to Google Cloud
3. Creating a table in BigQuery by specifying data source as Google Cloud bucket.
注意:我几乎使用了 Redshift“卸载”命令中的所有选项,但似乎 BigQuery 不了解更大文件的文件格式。
谁能建议这里可能是什么问题?
【问题讨论】:
@josh-haberman:你能看看我的问题吗? 【参考方案1】:由于手头的任务是从 Redshift 导出到 BigQuery,您是否尝试过使用工具来自动化此过程?
https://github.com/iconara/bigshift
来自他们的自述文件:
Redshift 的 UNLOAD 生成的 CSV 无法加载到 BigQuery 否 无论您在两端指定什么选项。 Redshift可以引用所有 字段或无,但 BigQuery 不允许使用非字符串字段 引。布尔值和时间戳的格式不兼容,并且 他们希望引用字段中的引号以不同方式转义,以命名 一些事情。
这意味着 BigShift 所做的很多工作是确保数据 从 Redshift 转储的内容与 BigQuery 兼容。去做这个 它读取表模式并转换不同的数据类型,同时 数据被转储。引号被转义,时间戳被格式化,等等 开。
【讨论】:
@theo:你能看看吗? 下面是 bigshift 命令:bigshift --gcp-credentials bq_cred.json --aws-credentials aws_cred.json --rs-credentials rd_cred.json --rs-database customdata --rs-table temp_data --bq-dataset wedata --bq-table temp_data --s3-bucket bigquery-ds --cs-bucket bigquery-ds --max-bad-records 0 --steps unload,transfer,load,cleanup --no-compression false
以上是关于BigQuery 加载较大的 CSV 文件失败的主要内容,如果未能解决你的问题,请参考以下文章
将 300 MB 文件加载到 BigQuery 时出现超时错误
当Big Query加载失败并且CSV表遇到太多错误时,获取更多信息,放弃[重复]
Bigquery 加载列中包含“null”文本的 CSV 文件