外部表查询不跳过标题行

外部蜂巢表不跳过从火花SQL查询时的标题行。

写的manisha.jena

去年发表在:2022年5月24日

问题

您正试图查询外部蜂巢表,但它一直未能跳过标题行,即使TBLPROPERTIES (' skip.header.line.count ' = ' 1 ')在HiveContext中设置。

你可以复制这个问题用这个样本代码通过创建一个表。

% sql创建外部表school_test_score('学校' varchar (254),“student_id”varchar(254),“性别”varchar(254),“预备考试”varchar(254),后续测试的varchar(254))行格式分隔字段终止由”、“行终止“\ n”存储为INPUTFORMAT org.apache.hadoop.mapred。TextInputFormat OUTPUTFORMAT org.apache.hadoop.hive.ql.io。HiveIgnoreKeyTextOutputFormat“位置”dbfs: / FileStore / table_header / TBLPROPERTIES (skip.header.line。数' = ' 1 ')

如果你想从表中选择第一个五行,第一行是标题行。

%的sql SELECT * FROM school_test_score限制5

表输出与标题行第一个数据行。

导致

如果你直接从蜂巢查询,标题行是正确的跳过。Apache火花不承认skip.header.line.count在HiveContext属性,所以它不跳过标题行。

火花和设计行为。

解决方案

您需要使用火花选项来创建表和一个头的选择。

% sql创建表student_test_score(学校字符串,student_id字符串,性别字符串,字符串进行预测,后续测试字符串)使用CSV选项(路径“dbfs: / FileStore / table_header /分隔符“,”头“true”);

从表中选择第一个五行,不包括标题行。

%的sql SELECT * FROM school_test_score限制5

表输出标题行跳过。


这篇文章有用吗?