你能用实时例子解释在哪里使用序列文件和镶木地板文件吗?
答案 0 :(得分:0)
序列文件
序列文件以二进制格式存储数据,其结构与CSV类似。与CSV一样,序列文件不会与数据一起存储元数据,因此唯一的模式演变选项是追加新字段。但是,与CSV不同,序列文件确实支持块压缩。由于读取序列文件的复杂性,它们通常仅用于“飞行中”数据,例如在一系列MapReduce作业中使用的中间数据存储。
实木复合地文件
Parquet文件是另一种柱状文件格式,源自Hadoop创建者Doug Cutting的Trevni项目。与RC和ORC一样,Parquet享有压缩和查询性能优势,并且写入速度通常比非柱状文件格式慢。但是,与RC和ORC文件不同,Parquet serdes支持有限的模式演变。在Parquet中,可以在结构的末尾添加新列。目前,Hive和Impala能够查询新添加的列,但生态系统中的其他工具(如Hadoop Pig)可能会面临挑战。 Parou由Cloudera支持,并针对Cloudera Impala进行了优化。 Hadoop生态系统的其他部分正在快速添加Native Parquet支持。
关于使用Hive支持Parquet文件的一个注意事项...... Parquet列名称是小写的非常重要。如果您的Parquet文件包含混合大小写列名称,Hive将无法读取该列,并将返回具有空值的列上的查询,而不记录任何错误。与Hive不同,Impala处理混合大小写列名称。当你遇到我
时,这是一个真正令人困惑的问题