Hive默认使用文本格式,如果需要使用parquet/ORC文件格式,则需要添加额外的“store as parquet/ORC”子句。
如何将parquet/ORC设置为默认输出格式?
hive.default.fileformat
默认值:TextFile
添加于:Hive 0.2.0CREATE TABLE语句的默认文件格式。选项包括TextFile、SequenceFile、RCfile、ORC和Parquet。用户可以显式地使用CREATE TABLE ... STORED AS TEXTFILE|SEQUENCEFILE|RCFILE|ORC|AVRO|INPUTFORMAT...OUTPUTFORMAT...来覆盖默认设置。(RCFILE自Hive 0.6.0开始,ORC自0.11.0开始,AVRO自0.14.0开始,Parquet自2.3.0开始)有关详细信息,请参见行格式、存储格式和SerDe。
hive.default.fileformat.managed
默认值:none
添加于:Hive 1.2.0 with HIVE-9915CREATE TABLE语句的默认文件格式仅适用于管理表。外部表将使用hive.default.fileformat指定的格式创建。选项包括none、TextFile、SequenceFile、RCfile、ORC和Parquet (从Hive 2.3.0开始)。如果将其设置为null,则所有本地表都将使用hive.default.fileformat。对于非本地表,文件格式由存储处理程序确定(有关管理/外部和本地/非本地术语的更多信息,请参见StorageHandlers部分)。
+----------+---------------------------------------------------------------------------+-------------------------------------+
| | Native | Non-Native |
+----------+---------------------------------------------------------------------------+-------------------------------------+
| Managed | hive.default.fileformat.managed (or fall back to hive.default.fileformat) | Not covered by default file-formats |
| External | hive.default.fileformat | Not covered by default file-formats |
+----------+---------------------------------------------------------------------------+-------------------------------------+
set hive.default.fileformat=Parquet
set hive.default.fileformat.managed=Parquet