【发布时间】:2021-04-02 08:52:22
【问题描述】:
我正在尝试在 Apache Hive 中创建一个新表,该表从 CSV 文件加载数据。 我写了这个脚本
CREATE SCHEMA IF NOT EXISTS practica2;
CREATE EXTERNAL TABLE IF NOT EXISTS practica2.station_data
(IDPROVINCIA string,
SPROVINCIA string,
IDESTACION string,
SESTACION string,
FECHA string,
DIA string,
TEMPMAX string,
HORMINTEMPMAX string,
TEMPMIN string,
HORMINTEMPMIN string,
TEMPMEDIA string,
HUMEDADMAX string,
HUMEDADMIN string,
HUMEDADMEDIA string,
VELVIENTO string,
DIRVIENTO string,
RADIACION string,
PRECIPITACION string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ';'
STORED AS TEXTFILE
LOCATION 'hdfs://0.0.0.0:9000/user/hive';
但是,当我执行脚本时,我得到了这个错误
FAILED: ParseException line 4:1 character '' not supported here
我用另一种替代方法进行了测试,结果相同:
CREATE SCHEMA IF NOT EXISTS practica2;
CREATE TABLE IF NOT EXISTS practica2.station_data
(IDPROVINCIA string,
SPROVINCIA string,
IDESTACION string,
SESTACION string,
FECHA string,
DIA string,
TEMPMAX string,
HORMINTEMPMAX string,
TEMPMIN string,
HORMINTEMPMIN string,
TEMPMEDIA string,
HUMEDADMAX string,
HUMEDADMIN string,
HUMEDADMEDIA string,
VELVIENTO string,
DIRVIENTO string,
RADIACION string,
PRECIPITACION string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ';';
LOAD DATA LOCAL INPATH './RIA_exportacion_datos_diarios_Huelva_20140206.csv' INTO TABLE practica2.station_data;
完整的报告如下:
almu@debian:~/Practicas_BigData/Practica2/Hive$ hive -f practica2.hql
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/hive/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Logging initialized using configuration in jar:file:/usr/local/hive/lib/hive-common-2.3.7.jar!/hive-log4j2.properties Async: true
OK
Time taken: 3.894 seconds
FAILED: ParseException line 4:1 character '' not supported here
当我从 Hive 命令行创建表时,它的创建没有问题。但是,当我执行脚本时,它总是失败。
哪里出错了?
更新:关于如果 ';' 的建议可能是错误的原因,我将这一行替换为:
FIELDS TERMINATED BY ',';
但错误仍在继续
【问题讨论】: