`

12、数据分析系统Hive/Pig

 
阅读更多
Hive(Facebook)构建在Hadoop之上的数据仓库;数据计算使用MR,数据存储使用HDFS
Hive 定义了一种类 SQL 查询语言——HQL;类似SQL, 但不完全相同
可认为是一个HQL-->MR的语言翻译器。

Hive装在一个节点就可以了,




Hive On HBase
使用HQL处理HBase中的数据
比直接通过HBase API存取数据方便;
但性能更低,相当于把在线处理转为批处理
存在问题
不够成熟;
不能按时间戳获取数据,默认总是取最新的数据

下一代Hive被称为“Stinger”,其底层的计算引擎将由Tez替换MapReduce;
Tez相比于MapReduce具有众多优势:
   提供了多种算子(比如Map、 Shuffle等)供用户使用;
   将多个作业合并成一个作业,减少磁盘读写IO;
   充分利用内存资源。

Spark
Spark是一个内存计算框架,相比于MapReduce,效率更加高效(部分测试表明,速度快100x)

Impala
底层计算引擎不再采用MR,而是使用与商用并行关系数据库类似的分布式查询引擎;
Impala可直接处理存储在HDFS上的数据,并将结果集再次写入HDFS;



Pig(Yahoo)
使用 Pig Latin语言表达数据流
   Pig Latin是一种新的数据流语言
   Pig将Pig Latin语句转化为MapReduce作业
   Pig Latin比MapReduce程序更易编写

Pig与Hive异同:
相同点
   运行在Hadoop之上;
   设计动机是为用户提供一种更简单的Hadoop上数据分析方式;
   解决相同问题的两个工具(yahoo! vs facebook)。
不同点
   Hive要求待处理数据必须有Schema,而Pig则无此要求;
   Hive有Server需要安装, Pig无Server不需要安装;
   编程语言不同, SQL与Pig Latin
   SQL:得到什么样的结果, Pig Latin:如何处理数据
   SQL:过程化语言, Pig Latin:数据流语言
  • 大小: 137.6 KB
  • 大小: 137.1 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics