1. 程式人生 > 實用技巧 >Hive學習筆記——SerDe

Hive學習筆記——SerDe

SerDe 是Serializer 和 Deserializer 的簡稱,它提供了Hive和各種資料格式互動的方式。

Amazon的Athena可以理解是Amazon對標hive的一款產品,其中對SerDe的介紹如下

https://docs.aws.amazon.com/zh_cn/athena/latest/ug/serde-about.html

對於Hive中經常使用的SerDe如下,參考了

Hive_10. Hive中常用的 SerDe 和 當前社群的狀態

1.LazySimpleSerDe,用來處理文字格式檔案:TEXTFILE

https://github.com/apache/hive/blob/master/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazySimpleSerDe.java

2.RegexSerDe,可以使用java正則表示式來處理文字格式檔案:TEXTFILE

https://github.com/apache/hive/blob/master/serde/src/java/org/apache/hadoop/hive/serde2/RegexSerDe.java

3.JSONSerDe,可以使用它來處理json格式的文字檔案:TEXTFILE

https://github.com/rcongiu/Hive-JSON-Serde/blob/master/json-serde/src/main/java/org/openx/data/jsonserde/JsonSerDe.java

第三方的jar包,下載連線

http://www.congiu.net/hive-json-serde/1.3.8/hdp23/json-serde-1.3.8-jar-with-dependencies.jar
http://www.congiu.net/hive-json-serde/1.3.8/hdp23/json-udf-1.3.8-jar-with-dependencies.jar

4.OpenCSVSerDe,可以使用它來處理csv格式的文字檔案:TEXTFILE

https://github.com/apache/hive/blob/master/serde/src/java/org/apache/hadoop/hive/serde2/OpenCSVSerde.java

5.ParquetHiveSerDe,可以使用它來處理Parquet格式的檔案:PARQUET

https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/ParquetHiveSerDe.java

6.AvroSerDe,可以使用它來處理Avro格式資料的serde:AVRO

https://github.com/apache/hive/blob/master/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroSerDe.java