3
我試圖用分區創建外部HIVE表。我的一些 列名有大寫字母。這在創建 表時造成問題,因爲帶有大寫字母的列名的值爲 ,返回爲NULL。然後,我修改了ParquetSerDe,以便通過使用SERDEPROPERTIES來處理此問題,並使用外部表(未分區)。現在我 試圖創建一個外部表WITH WITH分區,並且每當我嘗試 訪問大寫字母列(例如FieldName)我得到此錯誤。 從表名中選擇FieldName;Hive中區分大小寫的列名稱
FAILED: RuntimeException Java. Lang.RuntimeException: cannot find field
FieldName from
[org.apache.hadoop[email protected]4f45884b,
org.apache.hadoop[email protected]8f11f27,
org.apache.hadoop[email protected]77e8eb0e,
org.apache.hadoop[email protected]1dae4cd,
org.apache.hadoop[email protected]623e336d
]
有什麼建議可以想到嗎?我無法更改數據源的架構。
這是我用它來創建表的命令 -
CREATE EXTERNAL TABLE tablename (fieldname string)
PARTITIONED BY (partion_name string)
ROW FORMAT SERDE 'path.ModifiedParquetSerDeLatest'
WITH SERDEPROPERTIES ("casesensitive"="FieldName")
STORED AS INPUTFORMAT 'parquet.hive.DeprecatedParquetInputFormat'
OUTPUTFORMAT 'parquet.hive.DeprecatedParquetOutputFormat'
,然後添加分區:
ALTER TABLE tablename ADD PARTITION (partition_name='partitionvalue')
LOCATION '/path/to/data'
你解決了這個問題嗎? –
@AndréCasimiro自從我從事這項工作已經有一段時間了,那是在公司夏季實習期間。以下是Parquet郵件列表的摘錄,其中提到了問題:https://mail-archives.apache.org/mod_mbox/parquet-dev/201407.mbox/%[email protected] .com%3E 查看JIRA問題。對不起,我沒有在這裏發表我的調查結果..我記得我們曾經討論過這個問題,但我不記得它究竟有多好,以及我們做過甚麼。 – Raymond26