c语言sscanf函数的用法是什么
268
2022-11-19
|NO.Z.00020|——————————|BigDataEnd|——|Hadoop&PB级数仓.V04|——|PB数仓.v04|会员活跃度分析|json数据处理&SerDe处理json数据|
一、使用SerDe处理
### --- 使用SerDe处理~~~ 序列化是对象转换为字节序列的过程;反序列化是字节序列恢复为对象的过程;~~~ # 对象的序列化主要有两种用途:~~~ 对象的持久化,即把对象转换成字节序列后保存到文件中~~~ 对象数据的网络传送
~~~ SerDe 是Serializer 和 Deserializer 的简写形式。~~~ Hive使用Serde进行行对象的序列与反序列化。~~~ 最后实现把文件内容映射到 hive 表中的字段数据类型。~~~ # SerDe包括Serialize/Deserilize 两个功能:~~~ Serialize把Hive使用的java object转换成能写入HDFS字节序列,或者其他系统能识别的流文件~~~ Deserilize把字符串或者二进制流转换成Hive能识别的java object对象~~~ Read : HDFS files => InputFileFormat =>
### --- 常见:--- Hive本身自带了几个内置的SerDe,还有其他一些第三方的SerDe可供选择。~~~ # 语法:~~~ 创建表create table t11(id string) stored as parquet;create table t12(id string)stored as ORC;
~~~ # 操作实例hive (test)> create table t11(id string) > stored as parquet;hive (test)> > create table t12(id string) > stored as ORC;
### --- 查看他们使用了什么样的反序列化方式~~~ # 语法desc formatted t11;desc formatted t12;~~~ LazySimpleSerDe(默认的SerDe)~~~ ParquetHiveSerDe~~~ OrcSerde
~~~ # 实例操作hive (test)> desc formatted t11;# Storage Information SerDe Library: org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe InputFormat: org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat OutputFormat: org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat hive (test)> desc formatted t12;# Storage Information SerDe Library: org.apache.hadoop.hive.ql.io.orc.OrcSerde InputFormat: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat OutputFormat: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
三、纯json格式数据通过JsonSerDe处理
### --- 创建json文件:对于纯 json 格式的数据,可以使用 JsonSerDe 来处理。[root@hadoop02 ~]# vim /data/yanqidw/logs/data/json2.dat{"id": 1,"ids": [101,102,103],"total_number": 3}{"id": 2,"ids": [201,202,203,204],"total_number": 4}{"id": 3,"ids": [301,302,303,304,305],"total_number": 5}{"id": 4,"ids": [401,402,403,304],"total_number": 5}{"id": 5,"ids": [501,502,503],"total_number": 3}
### --- 建表并导入数据~~~ # 语法~~~ 建表语句create table jsont2(id int,ids array
~~~ 导入数据load data local inpath '/data/yanqidw/logs/data/json2.dat' into table jsont2;
~~~ # 操作实例hive (test)> create table jsont2( > id int, > ids array
~~~ # 查看创建的表hive (test)> desc jsont2;OKcol_name data_type commentid int from deserializer ids array
四、各种Json格式处理方法小结:
### --- 各种Json格式处理方法小结:~~~ 简单格式的json数据,使用get_json_object、json_tuple处理~~~ 对于嵌套数据类型,可以使用UDF~~~ 纯json串可使用JsonSerDe处理更简单
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~