第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將空值設(shè)置為缺失表字段的默認(rèn)值

將空值設(shè)置為缺失表字段的默認(rèn)值

米琪卡哇伊 2022-05-25 17:25:01
我正在使用 Java 和 SQL 將數(shù)據(jù)移動(dòng)到新表中。我想要:從 BigQuery 中的舊表中提取數(shù)據(jù)更新/修改多個(gè)條目將其推送到 BigQuery 中的另一個(gè)現(xiàn)有表不幸的是,一些舊數(shù)據(jù)遵循不同的模式。一些舊表可能有從一到幾百個(gè)缺失的列(字段)。我沒有任何可靠的方法來生成或填充這些缺失的數(shù)據(jù),所以我決定將其保留為空。如何添加具有默認(rèn)空值的列?目前,我正在使用 SQL QueryJobConfiguration 來拉取、更新和推送數(shù)據(jù)到 BQ:QueryJobConfiguration queryConfig =             QueryJobConfiguration.newBuilder(               "SELECT  PARSE_TIMESTAMP('%b %d %T %Y', CONCAT(time, ' 2018')) MyTimestamp, * EXCEPT(time)"                + "FROM `myProject:MyDataset.MyTable` ")               .setUseLegacySql(false)               .setWriteDisposition(WriteDisposition.WRITE_APPEND)                   .setDestinationTable(TableId.of(MyOtherDataset, MyOtherTable))               .build();當(dāng)我嘗試運(yùn)行它時(shí),BigQuery 會(huì)拋出一個(gè)異常,聲稱數(shù)據(jù)缺少一列:線程“主”com.google.cloud.bigquery.BigQueryException 中的異常:架構(gòu)更新無效。新架構(gòu)中缺少字段 OtherField
查看完整描述

1 回答

?
阿晨1998

TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個(gè)贊

經(jīng)過一堆測試,我發(fā)現(xiàn) BQ 不允許我推送,因?yàn)槲矣袔讉€(gè)字段設(shè)置為“REQUIRED”而不是“NULLABLE”。我完全忘記了他們。幸運(yùn)的是,BigQuery 有一個(gè)實(shí)驗(yàn)方法:setSchemaUpdateOptions。您可以像這樣實(shí)現(xiàn)它:

List<SchemaUpdateOption> SchemaUpdate = Arrays.asList(JobInfo.SchemaUpdateOption.ALLOW_FIELD_RELAXATION);
.setSchemaUpdateOptions(SchemaUpdate)

ALLOW_FIELD_RELAXATION 本質(zhì)上允許您在任何字段上用 NULLABLE 臨時(shí)替換 REQUIRED 模式。


查看完整回答
反對 回復(fù) 2022-05-25
  • 1 回答
  • 0 關(guān)注
  • 130 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號