我正在尝试加载csv文件并让BigQuery自动创建架构。
bq load --source_format CSV -F '\t' --skip_leading_rows=1 voterdb.voters gs://[[ redacted bucket ]]/extract.csv
BigQuery error in load operation: Error processing job 'tokyo-unity-87516:bqjob_r3682474e46ce720f_0000015421aee065_1': No schema specified on job or table.
根据https://cloud.google.com/bigquery/federated-data-sources自动创建/推断支持架构。
答案 0 :(得分:4)
bq load --source_format=NEWLINE_DELIMITED_JSON --autodetect yourdataset.yourtable inputfile.json
标志可能就是你想要的。它适用于CSV和(换行符分隔的)JSON输入文件。
例如......
Sub MarkComplete()
'Select first cell
Range("G2").Select
'Loop until no more values
While ActiveCell.Value <> ""
'Print appropriate value
If ActiveCell.Value = "Complete" Then
ActiveCell.Value = "Y"
Else
ActiveCell.Value = "N"
End If
'Move to next cell
ActiveCell.Offset(1, 0).Select
Wend
End Sub
请参阅此处的文档:https://cloud.google.com/bigquery/bq-command-line-tool#creatingtablefromfile
请注意,这与联合数据源无关。
答案 1 :(得分:3)
如前一个答案中所述,模式自动检测是联合数据源查询的一部分。 CSV and JSON schema auto-detection标题下未明确说明这不适用于bq load
。如果您认为文档中不清楚这一点,我强烈建议您点击该文档页面右上角的 发送反馈 ,并详细说明这种歧义。
对于bq load
命令,根据bq load
documentation,表模式是必需参数。省略它会导致您遇到错误消息。
修改强>
感谢polleyg的更新。在this blog post中,宣布也应该在加载时检测模式。如Chris Sears所述,--autodetect
旗帜应符合您的需求。
答案 2 :(得分:1)
您引用的每个链接 - 当您直接query
联合数据源时,BigQuery支持自动创建/推断架构。
您收到的错误来自GCS的load
答案 3 :(得分:1)
这是节点js的解决方案。
<v-menu ref="menu3" :close-on-content-click="false" v-model="anniversaryVisibility" :nudge-right="10" :return-value.sync="enquiryForm.anniversary"
lazy
transition="scale-transition"
offset-y
full-width
min-width="290px">
<v-text-field
slot="activator"
v-model="enquiryForm.anniversary"
label="Anniversary"
append-icon="event"
outline
readonly
:error-messages="fieldErrors('enquiryForm.anniversary')"
@input="$v.enquiryForm.anniversary.$touch()"
@blur="$v.enquiryForm.anniversary.$touch()"
>
</v-text-field>
<v-date-picker v-model="enquiryForm.anniversary" @input="$refs.menu3.save(enquiryForm.anniversary)"></v-date-picker>
</v-menu>