【发布时间】:2017-10-17 16:49:38
【问题描述】:
hive 使用 Text 作为默认格式,如果需要 parquet/ORC 文件格式,则必须添加额外的“store as parquet/ORC”子句。
如何将 parquet/ORC 设置为默认输出格式?
【问题讨论】:
hive 使用 Text 作为默认格式,如果需要 parquet/ORC 文件格式,则必须添加额外的“store as parquet/ORC”子句。
如何将 parquet/ORC 设置为默认输出格式?
【问题讨论】:
hive.default.fileformat
默认值:文本文件
添加于:Hive 0.2.0CREATE TABLE 语句的默认文件格式。选项是文本文件, SequenceFile、RCfile、ORC 和 Parquet。用户可以明确地说 创建表...存储为 TEXTFILE|SEQUENCEFILE|RCFILE|ORC|AVRO|INPUTFORMAT...OUTPUTFORMAT... 到 覆盖。 (在 Hive 0.6.0 中添加了 RCFILE,在 0.11.0 中添加了 ORC,在 AVRO 0.14.0 和 2.3.0 中的 Parquet)有关详细信息,请参阅行格式、存储格式和 SerDe。
hive.default.fileformat.managed
默认值:无
添加于:Hive1.2.0 with HIVE-9915 CREATE TABLE 语句的默认文件格式仅适用于托管表。将创建外部表 hive.default.fileformat 指定的格式。选项没有, 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
这将只为当前会话设置。如果要为整个 hive 配置设置这些属性,请在 hive-site.xml 中设置这些属性并重新启动 hive 服务。
【讨论】: