Google bigquery 如何加载受控的csv数据+;一个独立的大查询

Google bigquery 如何加载受控的csv数据+;一个独立的大查询,google-bigquery,Google Bigquery,我正在尝试加载一个CSV文件,该文件是control+a,分为bigquery。对于bq load命令的-F参数,我传递的选项应该是什么?我尝试过的所有选项在加载时都会导致错误。我猜Control+A用于OP希望加载到BigQuery中的某些旧格式。另一方面,当很难选择任何常用的分隔符时,可以选择Control+A 我的建议是加载CSV文件时不要使用任何分隔符,这样整行将作为一个字段加载 假设您的行加载到Detritable中,如下所示,只有一列名为FullRow 'value1^Avalue

我正在尝试加载一个CSV文件,该文件是control+a,分为bigquery。对于bq load命令的
-F
参数,我传递的选项应该是什么?我尝试过的所有选项在加载时都会导致错误。

我猜Control+A用于OP希望加载到BigQuery中的某些旧格式。另一方面,当很难选择任何常用的分隔符时,可以选择Control+A

我的建议是加载CSV文件时不要使用任何分隔符,这样整行将作为一个字段加载

假设您的行加载到Detritable中,如下所示,只有一列名为FullRow

 'value1^Avalue2^Avalue3'   
其中^A是“不可见”字符

所以,在您将文件加载到BigQuery中之后—现在您可以将其解析为单独的列,并使用下面的内容将其写入最终的表中

SELECT
  REGEXP_EXTRACT(FullRow, r'(?:\w*\x01){0}(\w*)') AS col1,
  REGEXP_EXTRACT(FullRow, r'(?:\w*\x01){1}(\w*)') AS col2,
  REGEXP_EXTRACT(FullRow, r'(?:\w*\x01){2}(\w*)') AS col3
FROM TempTable  

由于我多次使用这种方法,上述方法已被证实有效。既适用于传统SQL,也适用于标准SQL

您尝试过的参数有哪些,它们会产生哪些错误?我从未听说过control+分隔符。您可能希望使用不同的分隔符重新生成文件。Control+a通常表示“选择所有内容”。如果您尝试过\u0001,\x01,则由于“字段分隔符必须是单个字符”错误而失败。@amareshwari-您有机会尝试上述方法吗?如何在没有分隔符的情况下加载文件?只需定义一个自定义分隔符:bq load--field_delimiter somestringthat nottexistinmyfile?