查询表时,一个将SERDE 反序列化从该文件中的字节的数据的一行被配置单元内部用于数据的该行操作的对象 。 执行INSERT或CTAS(见441页的“导入数据”)时,表的SERDE将数据串行化的一排配置单元的内部表示成被写入到输出文件中的字节 。
- 是SERDE库?
- 如何蜂巢存储数据,即它存储在文件或表?
- 请任何人都清楚地解释了大胆的句子? 我是新来的蜂巢!
查询表时,一个将SERDE 反序列化从该文件中的字节的数据的一行被配置单元内部用于数据的该行操作的对象 。 执行INSERT或CTAS(见441页的“导入数据”)时,表的SERDE将数据串行化的一排配置单元的内部表示成被写入到输出文件中的字节 。
答案
有关如何写出更多信息SERDE阅读这篇帖子
In this aspect we can see Hive as some kind of database engine. This engine is working on tables which are built from records.
When we let Hive (as well as any other database) to work in its own internal formats - we do not care.
When we want Hive to process our own files as tables (external tables) we have to let him know - how to translate data in files into records. This is exactly the role of SerDe. You can see it as plug-in which enables Hive to read / write your data.
For example - you want to work with CSV. Here is example of CSV_Serde
https://github.com/ogrodnek/csv-serde/blob/master/src/main/java/com/bizo/hive/serde/csv/CSVSerde.java
Method serialize will read the data, and chop it into fields assuming it is CSV
Method deserialize will take a record and format it as CSV.
蜂房可以通过使用(1)复杂数据类型(结构,数组,工会)分析半结构化和非结构化数据,以及(2)通过使用SERDE
SERDE接口允许我们指示蜂巢,以记录应如何处理。 串行器将Java对象蜂巢一直在努力,并将其转换成一些蜂箱可以存储并解串器需要记录的二进制表示并转化为Java对象蜂巢可以操作。
我觉得上面有概念连载和deserialise后到前。 连载是在写入完成后,所述结构化数据被序列化成用于存储的比特/字节流。 上读出,该数据被从比特/字节存储格式,以由读取器所需要的结构deserialised。 如蜂房需要看起来像行和列,但HDFS存储位/字节的块中的数据,所以连载上写,deserialise上读取结构。