CREATE TABLE摘要作为SELECT日期、用户ID、值自原始数据
我相信Snowflake中有一个类似SELECT INTO
的语法,但我找不到使用它的文档或示例。
CREATE TABLE raw_data (
Timestamp TIMESTAMP NOT NULL,
Date DATE NOT NULL,
UserID STRING,
Address STRING,
Phone STRING,
Value INTEGER
);
COPY INTO raw_data from 's3://my_bucket'
CREDENTIALS=(AWS_KEY_ID='XXXXX' AWS_SECRET_KEY='XXXX')
ON_ERROR=CONTINUE;
CREATE TABLE summary (
Date DATE NOT NULL,
UserID STRING,
Value INTEGER
);
INSERT INTO summary
SELECT Date, UserID, Value FROM raw_data
上面的方法是可行的,但我不想定义表summary
,而是希望SELECT INTO
并让SQL解析器为我创建表。
您可以使用创建表AS(CTAS)来实现这一点。在您的情况下,它将是:
CREATE TABLE SUMMARY AS
SELECT
Date
, UserID
, Value
FROM
raw_data;
下面是一个没有使用我测试过的数据的例子:
create table foo as select $1, $2
from
values ( 1, 'two' ), ( 3, 'four' ), ( 5, 'six' );
select * from foo;
希望这能有所帮助!
您也可以使用标准的"WITH AS"命名法:
with a as (
SELECT
Date
,UserID
,Value
FROM
raw_data)
SELECT * FROM a