首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过查询分区表创建分区表

通过查询分区表创建分区表
EN

Stack Overflow用户
提问于 2019-07-03 18:27:23
回答 1查看 361关注 0票数 1

我有一个现有的日期分区表,我想创建一个新的日期分区表,其中只包含原始表中的一列,同时保留原始分区。

我尝试过:创建一个空的分区表,并从查询中复制结果,但随后分区就丢失了。

如果我还将分区日期作为列包含在我的新表中,那么下面的Create语句应该可以工作,这是我不想要的。在从查询结果加载数据时,有没有办法使用part_date列作为分区修饰器?

代码语言:javascript
复制
    CREATE TABLE
      cat_dataset.cats_names(cat_name string)
    PARTITION BY
      part_date AS
    SELECT
      cat_name,
      _PARTITIONDATE AS part_date
    FROM
      `myproject.cat_dataset.cats`

我希望避免循环遍历所有日期,并将该日期的数据写到新表中。在从查询结果加载数据时,有没有办法使用part_date列作为分区修饰器?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-04 02:28:35

INSERT INTO允许您将_PARTITIONTIME指定为列,请参见link。下面的代码应该可以工作:

代码语言:javascript
复制
CREATE TABLE cat_dataset.cats_names(cat_name string)
PARTITION BY DATE(_PARTITIONTIME);

INSERT INTO cat_dataset.cats_names (_PARTITIONTIME, cat_name) 
SELECT _PARTITIONTIME, cat_name
FROM `myproject.cat_dataset.cats`
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56868043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档