Greenplum中的外部表格-HDFS



我想使用Hadoop中保存的镶木地板在Greenplum中创建一个外部表。

CREATE  EXTERNAL TABLE test(DT_MONTH date, FLD_002 varchar(250), cnt_oper int, cnr_err int)
LOCATION ('pxf://server:9000/TEST_FOLDER/TEST?PROFILE=Jdbc&SERVER=hivejdbc')
FORMAT 'CUSTOM' (FORMATTER='pxfwritable_import');

这是我用火花检查的镶木地板:

p = 'hdfs://server:9000/TEST_FOLDER/TEST/'
s = spark.read.parquet(p) 
s.show(5)
s.printSchema()
+----------+----------------+--------+-------+
|  DT_MONTH|         FLD_002|cnt_oper|cnr_err|
+----------+----------------+--------+-------+
|2021-04-01|xxxxxxxxxxxxxxxx|       1|      0|
+----------+----------------+--------+-------+
root
|-- DT_MONTH: date (nullable = true)
|-- FLD_002: string (nullable = true)
|-- cnt_oper: long (nullable = true)
|-- cnr_err: long (nullable = true)

在greenplum中,我有一个错误

SQL Error [08000]: ERROR: PXF server error :
Error operating EXECUTE_STATEMENT: org.apache.spark.sql.catalyst.parser.ParseException: 
(seg0 slice1 10.18.205.22:50000 pid=97495)

我认为您可能使用了不正确的参数。

医生说你应该有?PROFILE=hdfs:parquet

很可能你需要一些东西,比如:

CREATE  EXTERNAL TABLE test(DT_MONTH date, FLD_002 varchar(250), cnt_oper int, cnr_err int)
LOCATION ('pxf://server:9000/TEST_FOLDER/TEST?PROFILE=hdfs:parquet')
FORMAT 'CUSTOM' (FORMATTER='pxfwritable_import');

如果你需要额外的镶木地板参数,这里会介绍。

最新更新