问题描述
我正在尝试将数据从SNowflake卸载到GCS,然后再将GCS卸载到bq表。 这是从雪花中卸载数据的代码。
```copy into @unload_stage/FF_TBL_UNLOAD20200906.csv.gz from
(
select *
from SF_DB.SF_TBLS.FF_TBL_UNLOAD
)
file_format = (
type=csv compression='gzip'
FIELD_DELIMITER = '|'
field_optionally_enclosed_by='"'
NULL_IF=()
EMPTY_FIELD_AS_NULL = TRUE
)
single = false
max_file_size=5300000000
header = false;```
然后我使用以下脚本将数据从GCS复制到bq
```#!/bin/bash
date=20200906
echo "Removing FF_TBL_UNLOAD list with same date list...."
rm /home/varma/FF_TBL_UNLOADlist"$date".txt
echo "Listing FIlenames for FF_TBL_UNLOAD in GCS BUCKET...."
gsutil ls gs://syw_hs_inbound_outbound_data/FF_TBL_UNLOAD"$date"*.gz>>/home/varma/FF_TBL_UNLOADlist"$date".txt
echo "Starting Uploading Data into table from FF_TBL_UNLOAD$date list..."
if [ -s /home/varma/FF_TBL_UNLOADlist"$date".txt ]
then
while IFS= read -r line
do
echo "Uploading data for file $line"
bq load --noreplace --field_delimiter="|" hty-ttw-analysis:out.FF_TBL_UNLOAD $line
done < "/home/varma/FF_TBL_UNLOADlist${date}.txt"
else
echo "File is Empty"
fi```
它适用于除此表以外的所有表,我得到的错误是 读取数据时出错,错误消息:CSV表引用列位置174,但是从位置:136868开始的行仅包含94列。
有人可以帮助我解决此错误吗?我应该更改文件格式还是应该对要上传到bq的脚本进行一些更改