下面是我创建的hive表:
CREATE EXTERNAL TABLE Activity (
column1 type, </br>
column2 type
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION '/exttable/';
Run Code Online (Sandbox Code Playgroud)
在我的HDFS位置/ exttable中,我有很多CSV文件,每个CSV文件也包含标题行.当我在进行选择查询时,结果也包含标题行.
在HIVE中我们可以忽略标题行或第一行吗?
Var*_*pta 23
如果您使用的是Hive版本0.13.0或更高版本,则可以在表属性中指定"skip.header.line.count"="1"以删除标题.
有关该补丁的详细信息,请参阅:https://issues.apache.org/jira/browse/HIVE-5795
小智 20
您现在可以跳过配置单元0.13.0中的标题计数.
tblproperties ("skip.header.line.count"="1");
假设您要加载如下所示的 csv 文件,位于 /home/test/que.csv
1,TAP (PORTUGAL),AIRLINE
2,ANSA INTERNATIONAL,AUTO RENTAL
3,CARLTON HOTELS,HOTEL-MOTEL
Run Code Online (Sandbox Code Playgroud)
现在,我们需要在 HDFS 中创建一个保存这些数据的位置。
hadoop fs -put /home/test/que.csv /user/mcc
下一步是创建一个表。有两种类型可供选择。参考这里选择一个。
外部表的示例。
create external table industry_
(
MCC string ,
MCC_Name string,
MCC_Group string
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION '/user/mcc/'
tblproperties ("skip.header.line.count"="1");
Run Code Online (Sandbox Code Playgroud)
那没有。但是,您可以在加载到 HDFS 之前对文件进行预处理以跳过第一行 -
tail -n +2 withfirstrow.csv > withoutfirstrow.csv
Run Code Online (Sandbox Code Playgroud)
或者,您可以将其构建到 HIVE 中的 where 子句中以忽略第一行。
| 归档时间: |
|
| 查看次数: |
52181 次 |
| 最近记录: |