课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
要知道我们通过大数据技术在提取数据的时候会得到相当多的数据内容,而今天我们就一起来了解一下,这些数据内容在存储上可以采用哪些文件类型。
CSV文件
CSV文件通常用于在Hadoop和外部系统之间交换数据。CSV是可读和可解析的。 CSV可以方便地用于从数据库到Hadoop或到分析数据库的批量加载。在Hadoop中使用CSV文件时,不包括页眉或页脚行。文件的每一行都应包含记录。CSV文件对模式评估的支持是有限的,因为新字段只能附加到记录的结尾,并且现有字段不能受到限制。CSV文件不支持块压缩,因此压缩CSV文件会有明显的读取性能成本。
JSON文件
JSON记录与JSON文件不同;每一行都是其JSON记录。由于JSON将模式和数据一起存储在每个记录中,因此它能够实现完整的模式演进和可拆分性。此外,JSON文件不支持块级压缩。
序列文件
序列文件以与CSV文件类似的结构用二进制格式存储数据。像CSV一样,序列文件不存储元数据,因此只有模式进化才将新字段附加到记录的末尾。与CSV文件不同,序列文件确实支持块压缩。序列文件也是可拆分的。序列文件可以用于解决“小文件问题”,方式是通过组合较小的通过存储文件名作为键和文件内容作为值的XML文件。由于读取序列文件的复杂性,它们更适合用于在飞行中的(即中间的)数据存储。
注意:序列文件是以Java为中心的,不能跨平台使用。
Avro文件
适合于有模式的长期存储。Avro文件存储具有数据的元数据,但也允许指定用于读取文件的独立模式。启用完全的模式进化支持,允许你通过定义新的独立模式重命名、添加和删除字段以及更改字段的数据类型。Avro文件以JSON格式定义模式,数据将采用二进制JSON格式。Avro文件也是可拆分的,并支持块压缩。更适合需要行级访问的使用模式。这意味着查询该行中的所有列。不适用于行有50+列,但使用模式只需要访问10个或更少的列。Parquet文件格式更适合这个列访问使用模式。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。