hive表的输入输出格式总结

hive建表语句:
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name
[(col_name data_type [COMMENT col_comment], …)]
[COMMENT table_comment]
[PARTITIONED BY (col_name data_type [COMMENT col_comment], …)]
[CLUSTERED BY (col_name, col_name, …)
[SORTED BY (col_name [ASC|DESC], …)] INTO num_buckets BUCKETS]
[ROW FORMAT row_format]
[STORED AS file_format]
[LOCATION hdfs_path]
[TBLPROPERTIES (property_name=property_value, …)]
[AS select_statement]
[LIKES existing_table_or_view_name]

hive表的输入输出格式总结

在建表时,会设置表的inputformat,这个信息会给select语句解析使用!
select语句解析的job,会指定的Inputformat读取表中的数据!

在建表时,会设置表的outputformat,这个信息会给insert语句解析使用!
insert语句解析的job,会使用表指定的Outputformat将要写入的数据存储为指定的文件格式!

在建表时,当指定文件格式时,hive会自动根据文件格式帮你设置InputFormat和OutPutFormat。

在建表时,输出格式需要设置为表中文件格式所对应的类型!

textfile ------------TextOupputFormat

parquet ---------> ParquetOutputFormat

Hive支持的常见的文件格式:

TEXTFILE(默认):

INPUTFORMAT:
org.apache.hadoop.mapred.TextInputFormat
可切。 默认以blocksize为每片最大值。
textfile文件lzo压缩:
com.hadoop.mapred.DeprecatedLzoTextInputFormat:
可切。 取决于index文件中的设置。没有index文件,不能切,将整个文件作为1片!

OUTPUTFORMAT: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat

SequenceFile(过时):

ORCFILE:

INPUTFORMAT:
org.apache.hadoop.hive.ql.io.orc.OrcInputFormat

可切。一个stripe是一片!

OUTPUTFORMAT:
org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat

Parquet:

INPUTFORMAT: org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat
可切。一个数据页是1片! 256M

OUTPUTFORMAT: org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值