0
我有固定寬度文件具有5個固定寬度列。這是文件的結構。 {col1:3char, col2:35char, col3:3char, col4:11char, col5:4char}
。這裏是示例文件無法使用SerDe加載具有固定寬度文件的配置單元表
111 SagarKhatavkar 030 9999ABIT
112 VishalKataria 028 9999ABIT
113 GauravSomvanshi 032 9999ABIT
114 SonalKartekiya 029 9999ABIT
因此,正如其他職位我建議使用正則表達式。這是我創建的DDL。
CREATE TABLE emp (emplid STRING, name STRING, age String, salary String, dept STRING)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
WITH SERDEPROPERTIES (
"input.regex" = "(.{4})(.{35})(.{3})(.{11})(.{4})",
"output.format.string" = "%1$s %2$s %3$s %4$s %5$s"
)
從本地使用負載加載後,此表中的數據將所有值都設置爲NULL。
load data local inpath '/home/test1/emp.txt' into table emp;
Running select on the table
hive> select * from emp;
OK
NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL
Time taken: 0.959 seconds, Fetched: 4 row(s)
請告知DDL有什麼問題?我正在使用2.4.2.0-258版本的Hive。