Vertica Parquet 格式

wlo*_*i83 1 hdfs vertica parquet

我使用以下 Vertica 版本“Vertica Analytic Database v7.1.1-0”,并尝试使用以下查询将数据从 Parquet 格式文件复制到表中:

COPY temp.sessions_parquet FROM '/dbadmin/vertica-import/parquet/*' ON ANY NODE PARQUET; 
Run Code Online (Sandbox Code Playgroud)

我使用以下 DDL 创建了表:

CREATE TABLE temp.sessions_parquet (c0 VARCHAR, c1 VARCHAR, c2 VARCHAR, c3 VARCHAR, c4 VARCHAR, c5 VARCHAR, c6 VARCHAR, c7 VARCHAR, c8 VARCHAR, c9 VARCHAR, c10 VARCHAR, c11 VARCHAR, c12 VARCHAR, c13 VARCHAR, c14 VARCHAR, c15 VARCHAR, c16 VARCHAR, c17 VARCHAR, c18 VARCHAR, c19 VARCHAR, c20 VARCHAR, c21 VARCHAR, c22 VARCHAR, c23 VARCHAR, c24 VARCHAR, c25 VARCHAR, c26 VARCHAR, c27 VARCHAR, c28 VARCHAR, c29 VARCHAR, c30 VARCHAR, c31 VARCHAR, c32 VARCHAR, c33 VARCHAR, c34 VARCHAR, c35 VARCHAR, c36 VARCHAR, c37 VARCHAR, c38 VARCHAR, c39 VARCHAR, c40 VARCHAR, c41 VARCHAR, c42 VARCHAR, c43 VARCHAR, c44 VARCHAR, c45 VARCHAR, c46 VARCHAR, c47 VARCHAR, c48 VARCHAR, c49 VARCHAR, c50 VARCHAR, c51 VARCHAR, c52 VARCHAR, c53 VARCHAR, c54 VARCHAR, c55 VARCHAR, c56 VARCHAR, c57 VARCHAR);
Run Code Online (Sandbox Code Playgroud)

Parquet 格式文件位于 Vertica 节点上,已位于以下位置:

/dbadmin/vertica-import/parquet/part-r-00000.snappy.parquet
Run Code Online (Sandbox Code Playgroud)

当我尝试执行以下命令时:

COPY temp.sessions_parquet FROM '/dbadmin/vertica-import/parquet/*' ON ANY NODE PARQUET;
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

执行 SQL 命令时发生错误:COPY temp.sessions_parquet FROM '/dbadmin/vertica-import/parquet/*' ON ANY NODE PARQUET

[Vertica]VJDBC 错误:“PARQUET”处或附近的语法错误 [SQL State=42601,DB Errorcode=4856] 1 条语句失败。

您能帮忙告诉我如何导入数据吗?

Mon*_*lio 5

版本 7.2.3 首次支持读取 Parquet 文件。看起来您已经找到了该版本的语法,但您正在将其与旧版本一起使用。

这是7.2.3 中此功能的文档。顺便请注意,它不支持复杂类型,这在 8.0.x 中仍然如此。