【问题标题】:Big Query Table Creation ConfusionBigquery 表创建混乱
【发布时间】:2015-08-13 04:27:54
【问题描述】:

我必须创建一个大查询表,其架构如下

snippet:STRING,comment_date:TIMESTAMP

我的数据如下

"Love both of these brands , but the "" buy a $100k car , get or give a pair of $40 shoes "" message seems .",2015-06-22 00:00:00

"All Givens Best Commercial Ever",2015-06-22 00:00:00

我很困惑,因为这两行都被接受并插入到表中,尽管在第一行中所有的 sn-p 字符串都在双引号之间,但它也包含双引号和逗号

为什么大查询不会在那里混淆?

【问题讨论】:

  • 让您的数据尽可能干净和有规律是个好主意。 RFC4180 是 CSV 文件的宽松标准,除其他事项外,指定逗号在带引号的字段中是可以的,并且字段中的引号应该加倍。正确的解析通常是一次 1 个字符。更丑陋的 CSV 文件跟随它,发明或忽略重要的东西,比如引号转义。负责快速解析 CSV 的普通程序员或分析师会将 CSV 数据拆分为逗号,这对于引号字段或引号转义中的逗号是不正确的。
  • 谢谢@Paul 我不知道这一点。这意味着大查询正在按上述方式处理它。

标签: google-bigquery


【解决方案1】:

在解析 CSV 时,BigQuery 仅对不带引号的逗号进行拆分,并且当在带引号的字符串中遇到双引号 "" 时,它会将双引号 " 视为单个转义引号字符。因此,根据 BigQuery,您的输入是有效的 CSV。

【讨论】:

  • 如果我在字符串中有一个新行怎么办?然后我需要一些工作。
  • 你能推荐点什么吗
  • 如果您设置了 allowQuotedNewlines 标志,那么您可以在引用的 CSV 字符串中包含换行符。 cloud.google.com/bigquery/docs/reference/v2/…
猜你喜欢
  • 1970-01-01
  • 2012-03-19
  • 2014-04-20
  • 2012-05-01
  • 2020-08-31
  • 1970-01-01
  • 1970-01-01
  • 2012-02-07
  • 2010-12-28
相关资源
最近更新 更多