問題
您正試圖查詢外部蜂巢表,但它一直未能跳過標題行,即使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