首页 > 其他分享 >hive Serde(默认)

hive Serde(默认)

时间:2023-04-06 14:58:35浏览次数:38  
标签:Serde name format ...... 默认 hive 序列化


Hive 读文件机制
首先调用InputFormat(默认TextFormat),返回一条一条的键值对记录(默认是一行对一行键值对)。然后用Serde(默认为LazySimpleSerde)的Deserializer,将一条记录的value根据分隔符切分为各个字段。

HDFS files InputFileFormat <key,value> Deserizlizer Row object

hive 写文件机制
将行写入文件时,首先调用Serde(默认LazySimpleSerde)的Serializer将对象转换成字节序列,然后调用OutputFormat将数据写入HDFS文件中。

Row object Serializer <key,value> OutputFormat HDFS files

Serde --> Serializer、Deserializer的简称,用于序列化和反序列化

  • 序列化:将对象转换为字节码
  • 反序列化:将字节序列转化为对象

hive 使用 Serde (包括FileFormat) 读取和写入表 行对象 ;但是key会被忽略,基本上行对象存储在 value 中

语法:
create [temporary] [external] table [if not exists] [database.name] table_name
[data_name data_type,......]
[partitioned by(col_name data_type,......)]
[clustered by(COLUMN_NAME......) [sorted by (col_name desc)] into num_buckets BUCKETS]
[row format delimited [fields terminated by ''] [collection items terminated by ''] [map keys terminated by ''] [lines terminated by ''] | Serde serde_name WITH SERDEPROPERTIES(property_name=property_value,......)]
[sorted as file_format]
[location hdfs_path]
[tblproperties(properties_name=properties_value,......)];

tips

row format为语法关键字,delimited和serde二选一,如果**使用delimited表示使用默认的LazySimpleSerde类来处理数据
对于特殊的文件格式使用row format serde serde_name指定其他的Serde类来处理数据,支持用户自定义Serde类

标签:Serde,name,format,......,默认,hive,序列化
From: https://www.cnblogs.com/timeincrease/p/17292121.html

相关文章

  • Hadoop、Hive和Spark的关系
    大数据技术生态中,Hadoop、Hive、Spark是什么关系?|通俗易懂科普向Hadoop、Hive和Spark,都是大数据相关的系统和技术。大数据也是数据管理系统的范畴。数据管理系统涉及两个方面的问题,一个是数据怎么存储?一个是数据怎么计算?为了方便理解,我们需要从单机的时代来讲解。在单机的数......
  • [FAQ] Pytorch PytorchStreamReader failed reading zip archive
     比如:rm-rf~/.cache/huggingface  Link:https://www.cnblogs.com/farwish/p/17290240.html......
  • 解决Abp设置DefaultLanguage默认语言不生效的问题
    @目录现象原因分析解决问题现象默认地,Abp的语言提供程序将返回的CultureInfo为En,在一些默认实现的接口(比如/api/TokenAuth/Authenticate)返回的错误信息是英文目标是改成简体中文显示,但是即便我们在AbpSettings表中加入了DefaultLanguage为"zh-Hans"AddSettingIfNotExists(L......
  • CDH+Hive部署
    CDH介绍:  CDH全称Cloudera’sDistributionIncludingApacheHadoop,是Cloudera公司提供的一个ApacheHadoop发行版。CDH将Hadoop与其他十几个关键的开源项目集成,并且加入了集群自动化安装、中心化管理、集群监控、报警等功能。Hive介绍:  Hive是基于Hadoop的一......
  • Hive 如何巧用分布函数percent_rank()剔除极值求均值
    场景描述前期写过一篇关于剔除订单极值求订单均值的案例,之前使用的是 dense_rank 函数对订单金额进行排序后,过滤掉最大值最小值后进行处理,最近工作刚好使用到分布函数percent_rank,想起来应该也可以用到这个场景;percent_rank()简介percent_rank()函数为分布函数,用于返回某个......
  • 如何对语音信箱的多个号码设置不同的默认值
    1.1如何对语音信箱的多个号码设置不同的默认值 MTK平台的机制是如果sim卡中有6F17这只文件,那么语音信息将会被保存在sim卡上,如果sim卡没有这只文件,语音信息则会被保存在nvram上。换sim卡时,会初始化手机上的语音信息栏位  如果sim卡支持语音信息的栏位......
  • 如何修改network profile的默认值
    Fun&Game下的JavaNetwork菜单可以设置全局的Javanetworkprofile值,如何修改这个值? [SOLUTION] 初始化javanetworkprofile会调用到jam_nw_create_setting(),该函数会按照传进来的mids_storage生成XXX_nw_settings.bin文件,这个文件可能是globalne......
  • 默认python3版本,python2没有pip2模块,解决方案
    python2.7没有pip模块,需要安装pip2/usr/bin/python2:Nomodulenamedpip 直接通过pip安装出错,python3.6已经导入了 解决方案:下载pip安装文件: curlhttps://bootstrap.pypa.io/pip/2.7/get-pip.py -oget-pip.py用python2安装: python2get-pip.py   ......
  • hive 优化
    hive优化`--合并小文件sethive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;--sethive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat;setmapreduce.input.fileinputformat.split.minsize=256000000;setmapreduce.input.filein......
  • Hive 和 Spark 分区策略剖析
    作者:vivo互联网搜索团队-DengJie随着技术的不断的发展,大数据领域对于海量数据的存储和处理的技术框架越来越多。在离线数据处理生态系统最具代表性的分布式处理引擎当属Hive和Spark,它们在分区策略方面有着一些相似之处,但也存在一些不同之处。一、概述随着技术的不断的发展,大数据......