【发布时间】:2020-05-08 11:58:01
【问题描述】:
我正在 BigQuery 中使用 json 文件中的模式创建表,并将 DATETIME 数据类型提供给列。然后我简单地以 2020-01-01 00:00:00 的日期时间格式从 csv 加载数据,但是当它进入 bigquery 时,我可以看到它有一个“T”分隔符,即 2020-01-01T00:00 :00。
它甚至在 google bigquery 文档中提到 - YYYY-[M]M-[D]D[( |T)[H]H:[M]M:[S]S[.DDDDDD]] , ( |T ):空格或T 分隔符。但我不知道如何给出空格分隔符而不是默认的 T 分隔符。请帮忙。谢谢。
https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types
【问题讨论】:
-
“T”只是ISO 8601格式化日期时间字符串中日期和时间之间的默认分隔符
-
是的,但是我可以通过任何方式获得空格分隔符,在加载数据或创建表格时可以通过任何方式指定吗?
-
在哪里可以看到日期格式?日期以引擎认为合适的任何二进制格式存储。日期格式用于从/到字符串转换,即它们是一种显示功能。
-
当我导出 bq 数据并将其保存在云存储位置时出现问题。然后运行 HQL 作业以创建具有相同 bq 表架构的配置单元表。所以问题是 hive 表中的时间戳 dtype 选择这个 bq datetime dtype 值为 NULL 而不是我想要的 yyyy-mm-dd hh:mm:ss。我尝试使用 bq timestamp dtype 但它也存储日期和时间并在末尾附加 UTC。