Power Up!MRS 2.0 更简单易用(2)

  Tez可以将多个有依赖的作业转换为一个作业(这样只需写一次HDFS,且中间节点较少),从而大大提升DAG作业的性能。下面的图表阐述了这个过程:

  

  左图表展示的流程包含多个 MR 任务,每个任务都将中间结果存储到 HDFS 上(前一个步骤中的 reducer 为下一个步骤中的 mapper 提供数据)。右图表展示了使用 Tez 时的流程,仅在一个任务中就能完成同样的处理过程,任务之间不需要访问HDFS。

  使用 Tez 完成Hive 查询的好处包括:

  • 它为你提供了全面的 DAG 支持,同时会自动地在集群上完成大量的工作,因而它能够充分利用集群的并行能力,在多个 MR 任务之间不需要从 HDFS 上读 / 写数据,通过一个单独的 Tez 任务就能完成所有的计算。

  • 它提供了会话和可重用的容器,因此延迟低,能够尽可能地避免重组。

  • 兼容原先MR任务。

  Tez提供了的全新的UI界面,可以更加方便的查看每个任务的执行情况。

  

  提供了HPLSQL

  MRS 2.0中的Hive支持存储过程(HPLSQL)。使用存储过程能够更加方便的执行具有关联性的HQL语句集,通过定义变量和传参,灵活地调用方法获取事务的执行结果,比之前反复执行多条hql语句效率更高。通过定义连接,可以在一个HPLSQL中访问不同的关系型数据库。

  下面是一个简单的HPLSQL例子:

  CREATE FUNCTION hello(text STRING)

  RETURNS STRING

  BEGIN

  RETURN 'Hello, ' || text || '!';

  END;

  FOR item IN (

  SELECT s1,s2 FROM test limit 10

  )

  LOOP

  PRINT item.s1 || '|' || item.s2 || '|' || hello(item.s1);

  END LOOP;

  CREATE FUNCTION hello(text STRING)

  RETURNS STRING

  BEGIN

  RETURN 'Hello, ' || text || '!';

  END;

  FOR item IN (

  SELECT s1,s2 FROM test limit 10

  )

  LOOP

  PRINT item.s1 || '|' || item.s2 || '|' || hello(item.s1);

  END LOOP;

  HiveWebUI使运维更加简单

标签:区块链 Power Up 简单
N本文来源:财经365自媒体综合