我想使用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');
如果你需要额外的镶木地板参数,这里会介绍。