如何从文本文件加载hive RC格式表

时间:2016-02-05 08:01:30

标签: hive

我有一个带有管道作为分隔符的文本文件。我想将数据加载到RC格式的hive分区表中。我可以分两步完成。即首先加载到文本格式的外部表中,然后从那里我可以加载到RC格式的分区表中。 但问题是可以使用load hadoop命令在一步过程中完成(考虑到运行时我不确定不同的分区值)。 我在load data inpath 'hdfs_file_or_directory_path' OVERWRITE INTO TABLE table1 PARTITION (YEAR_DT)下方尝试过,但收到错误。 RC格式的表结构如下:



CREATE EXTERNAL TABLE TEST.TABLE1(
 Col1 DATE,
 Col2 INT,
 Col3 DOUBLE,
 Col4 VARCHAR(2),
 Col5 VARCHAR(3),
 Col6 SMALLINT,
 Col7 TIMESTAMP
 )
   partitioned by (YEAR_DT INT)
   ROW FORMAT DELIMITED
   FIELDS TERMINATED BY '|'
   STORED AS RCFILE
   LOCATION
   'hdfs_file_or_directory_path'
  TBLPROPERTIES ('transactional'='true'); 




我得到的错误如下:



hive> load data inpath '<hdfs path>'  OVERWRITE INTO TABLE TABLE1 PARTITION(year_dt);
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: MetaException(message:Invalid partition key & values; keys [year_dt, ], values [])

hive> load data inpath '<hdfs path>'  OVERWRITE INTO TABLE TABLE1 PARTITION(year_dt = 2014);
Loading data to table test.test1 partition (year_dt=2014)
Failed with exception Wrong file format. Please check the file's format.
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask
&#13;
&#13;
&#13;

0 个答案:

没有答案