Databricks DELTA CTAS 与使用 %sql 的 LOCATION

the*_*tom 6 databricks delta-lake databricks-sql

DELTA不具有CREATE TABLE LIKE。它确实有CTAS

我只想复制表的定义LOCATION,但还要指定.

例如,这不起作用:

CREATE TABLE IF NOT EXISTS NEW_CUSTOMER_FEED 
AS SELECT * from NEW_CUSTOMER_FEED WHERE 1 = 0 
LOCATION '/atRest/data'
Run Code Online (Sandbox Code Playgroud)

我缺少什么?

Ale*_*Ott 7

如果您检查 的语法CREATE TABLE USING那么您将看到AS SELECT ...应该是所有选项之后的最后一个子句。所以在你的情况下应该是

CREATE TABLE IF NOT EXISTS NEW_CUSTOMER_FEED 
LOCATION '/atRest/data'
AS SELECT * from NEW_CUSTOMER_FEED WHERE 1 = 0 
Run Code Online (Sandbox Code Playgroud)

PS 相反WHERE 1=0,你可以这样做LIMIT 0......