bigrquery bq_table_load CSV文件与TAB分隔符



我试图使用bigrquery的bq_table_load()命令将tab分隔的csv文件从google存储移动到bigrquery。它可以工作,但不能自动识别列名。交互地做同样的事情(例如在bigquery云控制台)效果很好。比较两个作业(R诱导作业与云控制台作业)的作业元数据,我注意到R作业的列分隔符没有设置为TAB。尽管我在我的命令中包含了这个;例如:

bq_table_load(<x>,<uri>, fieldDelimiter="Tab",    source_format = "CSV", autodetect=TRUE)

我尝试了各种各样的变化…似乎什么都不起作用(即R作业将始终设置逗号分隔符)…以下是我尝试过的一些变化:

bq_table_load(<x>,<uri>, field_delimiter="Tab",    source_format = "CSV", autodetect=TRUE)
bq_table_load(<x>,<uri>, field_delimiter="t",    source_format = "CSV", autodetect=TRUE)
bq_table_load(<x>,<uri>, field_delimiter="tab",    source_format = "CSV", autodetect=TRUE)

有什么建议吗?

您可以使用模式文件定义Schema,示例如下:-

示例BQ加载命令,其中'$schema_dir/$TABLENAME。表示一个模式文件:-

bq --nosync load --source_format=CSV --skip_leading_rows=3 --allow_jagged_rows=TRUE --max_bad_records=10000 
--allow_quoted_newlines=TRUE  $projectid:$dataset.$TABLENAME 
$csv_data_path/$FILENAME $schema_dir/$TABLENAME.json

示例Schema文件

[
{
"mode": "NULLABLE",
"name": "C1",
"type": "STRING"
}
]

最新更新