我可以使用dbt core在同一个项目中连接到Vertica和HDFS吗?

3okqufwl  于 7个月前  发布在  HDFS
关注(0)|答案(1)|浏览(77)

我想连接到同一个项目中的Vertica和HDFS。我用命令dbt init创建了一个dbt项目,并尝试连接到Vertica。它可以工作,但我不知道如何连接到HDFS读取数据并将其加载到Vertica。
我需要从HDFS读取数据并将其加载到Vertica数据库。这可能吗?

epggiuax

epggiuax1#

你可以从这里开始阅读文档:https://docs.vertica.com/23.4.x/en/data-load/working-with-external-data/creating-external-tables/
HDFS上的Parquet示例:
步骤1:让Vertica推断Parquet文件的定义:

\a
Output format is unaligned.
\t
Showing only tuples.
SELECT infer_table_ddl(
  'hdfs:///data/tpch/region/'
||'3d5f4653-v_sbx_node0001-140498341713664-0.parquet' 
  USING PARAMETERS 
    format     = 'Parquet'
  , table_name = 'region'
  , table_type ='external'
)
vsql:infer.sql:7: WARNING 9311:  This generated statement contains one or more varchar/varbinary columns which default to length 80
create external table "region"(
  "r_regionkey" int, 
  "r_name" varchar, 
  "r_comment" varchar
) as copy from 'hdfs:///data/tpch/region/3d5f4653-v_sbx_node0001-140498341713664-0.parquet' parquet;

字符串
然后,我建议您在运行它之前,更改所生成的SQL语句,以反映r_namer_comment的最大长度(例如,varchar(25)和varchar(152))。
执行该命令后,您可以像选择普通表一样从region中进行选择。

相关问题