sql - COPY INTO:如何添加分区?
问题描述
来自 Databricks的命令COPY INTO
提供了对增量表的幂等文件摄取,请参见此处。从文档中,示例命令如下所示:
COPY INTO delta.`target_path`
FROM (SELECT key, index, textData, 'constant_value' FROM 'source_path')
FILEFORMAT = CSV
PATTERN = 'folder1/file_[a-g].csv'
FORMAT_OPTIONS('header' = 'true')
但是,我希望通过分区摄取我的数据,这可以通过PARTITIONED BY
正常摄取中的命令来完成。是否可以执行COPY INTO
带有分区的命令?简单地添加分区子句会产生以下错误:
Error in SQL statement: ParseException:
mismatched input 'PARTITIONED' expecting {<EOF>, ';'}(line 8, pos 0)
解决方案
你不能直接从COPY INTO
. 您需要使用CREATE TABLE来创建按您需要的任何列分区的表,然后执行COPY INTO
创建的表 - 然后它将被正确分区。
推荐阅读
- php - php中的HTML下拉值无法正常工作
- android - 处理类库时如何使用MVVMCross将Fragment组成一个Activity
- dataframe - Julia 中缺少值的 MixedModel
- vue.js - vue 解析 json 数据并设置为标记 lat,lng 到点
- java - 向 hashCode() 添加数字是为了什么?
- assembly - 有人可以确认 push r64 应该是 50+ro 而不是 +rd 吗?英特尔文档中的错误?
- firebase - 通过“createCustomToken”方法发布时,CustomToken 不起作用
- c# - 新的 Microsoft.NET.Sdk 项目在子目录中构建输出文件。怎么改回来?
- javascript - 使用 AAD 访问 .Net Web Api 的 JQuery 抛出 401 invalid_token / 发行者无效
- css - HTML / SASS 元素的属性值无效