Hive學習筆記——SerDe
阿新 • • 發佈:2020-11-17
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