以下は、私が作成したHiveテーブルです。
CREATE EXTERNAL TABLE Activity (
column1 type, </br>
column2 type
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION '/exttable/';
私のHDFSロケーション/ exttableには、多くのCSVファイルがあり、各CSVファイルにはヘッダー行も含まれています。選択クエリを実行すると、結果にはヘッダー行も含まれます。
Hiveにヘッダー行または最初の行を無視できる方法はありますか?
Hiveバージョン0.13.0以降を使用している場合は、テーブルプロパティで「skip.header.line.count」= "1"を指定してヘッダーを削除できます。
パッチの詳細については、以下を参照してください。 https://issues.Apache.org/jira/browse/Hive-5795
hive 0.13.0でヘッダーカウントをスキップできるようになりました。
tblproperties ("skip.header.line.count"="1");
</ code>
存在しない。ただし、HDFSに読み込む前に、ファイルを前処理して最初の行をスキップすることができます-
tail -n +2 withfirstrow.csv > withoutfirstrow.csv
または、Hiveのwhere句に組み込み、最初の行を無視できます。
Hiveバージョンがtblproperties( "skip.header.line.count" = "1")をサポートしていない場合、以下のunixコマンドを使用して最初の行(列ヘッダー)を無視し、HDFSに配置できます。
sed -n '2,$p' File_with_header.csv > File_with_No_header.csv