这几天恰巧来了4台服务器,还没有正式使用,所以赶紧加班安装调试了hadoop + spark 。
以前也玩过spark,但这次玩,是因为spark从1.4版本后使spark sql独立出来,想必一定不赖;另外,还支持DataFrame,底层存储支持parquet,甚至orc file。
一、parquet 和 orc 对比
我专门查了查parquet 和 orc,网上很多,我只说关键的。
1、parquet 和 orc 都是用于存储数据的底层格式,都是列式的。不难想象,对于单查某一个或2个列,因为不涉及其他列,所以速度会很快。
2、都能实现列压缩。如连续3个一样的数据放在一起,他们可以只写一遍,标示上为3次即可。压缩不压缩,我倒不怕空间浪费,关键是因为减小了体积,所以查询速度势必加快,所以这是好的。
3、在一定体积内(无论多少行),都是放在一起的,所以他们列式的前提,是先多行在一起,然后在多行内的列独立。
4、不同:orc 格式,在文件头有一个粗粒度索引,如此列的最大值和最小值。如果您查询的值不在此列包,则跳过不查,所以orc格式在查询结果不大的情况下,会速度快很多。而parquet则没有此特征。
5、parquet 不支持Update,不支持ACID。
二、spark 和 hive </