当前位置: 首页 > news >正文

策勒网站建设浙江vs广东联盟

策勒网站建设,浙江vs广东联盟,网络营销的概念与含义,泉州网站建设公司招聘销售*重要工具Impala 介绍 Impala是Cloudera提供的⼀一款开源的针对HDFS和HBASE中的PB级别数据进⾏交互式实时查询的一个分布式,大规模并行处理(MPP)数据库引擎,它包括多个进程。最大卖点就是快。 Impala抛弃了了MapReduce 使⽤了类似于传统的MPP数据库技术…

 *重要工具Impala

介绍

Impala是Cloudera提供的⼀一款开源的针对HDFS和HBASE中的PB级别数据进⾏交互式实时查询的一个分布式,大规模并行处理(MPP)数据库引擎,它包括多个进程。最大卖点就是快。

Impala抛弃了了MapReduce 使⽤了类似于传统的MPP数据库技术,大大提⾼了查询的速度。

MPP (Massively Parallel Processing),就是⼤大规模并行处理理,在MPP集群中,每个节点资源都是独⽴享有也就是有独⽴立的磁盘和内存,每个节点通过⽹网络互相连接,彼此协同计算,作为整体提供数据服务。

简单来说,MPP是将任务并⾏的分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的 结果汇总在⼀一起得到最终的结果

对于MPP架构的软件来说聚合操作⽐比如计算某张表的总条数,则先进⾏局部聚合(每个节点并⾏计算),然后把局部汇总结果进⾏行行全局聚合(与Hadoop相似)。

ImpalaHive对⽐

Impala的技术优势

  • Impala没有采取MapReduce作为计算引擎,MR是⾮非常好的分布式并⾏行行计算框架,但MR引擎更更多的是⾯面向批处理理模式,⽽而不是面向交互式的SQL执行。与 Hive相⽐比:Impala把整个查询任务转为一棵执行计划树,而不是一连串的MR任务,在分发执行计划后,Impala使⽤拉取的方式获取上个阶段的执行结果,把结果数据、按执行树流式传递汇集,减少的了把中间结果写⼊入磁盘的步骤,再从磁盘读取数据的开销。Impala使用服务的方式避免每次执行查询都需要启动的开销,即相比Hive没了MR启动时间。
  • 使用LLVM(C++编写的编译器器)产生运行代码,针对特定查询生成特定代码。
  • 优秀的IO调度,Impala支持直接数据块读取和本地代码计算。
  • 选择适合的数据存储格式可以得到最好的性能(Impala支持多种存储格式)。
  • 尽可能使用内存,中间结果不写磁盘,及时通过网络以stream的⽅方式传递。

安装配置

Impala⻆角⾊色

  • impala-server:这个进程是Impala真正⼯工作的进程,官⽅方建议把impala-server安装在datanode节点,更靠近数据(短路路读取),进程名impalad
  • impala-statestored:健康监控⻆角⾊色,主要监控impala-server,impala-server出现异常时告知给其它impala-server;进程名叫做statestored
  • impala-catalogd :管理理和维护元数据(Hive),impala更更新操作;把impala-server更更新的元数据通知给其它impala-server,进程名catalogd

官⽅方建议statestore与catalog安装在同⼀一节点上!!

⭐⭐⭐HIVE要集群模式 开启Metastore 建议Matestore与impala-server在一个机子

linux3安装:

yum install impala -y

yum install impala-server -y

yum install impala-state-store -y

yum install impala-catalog -y

yum install impala-shell -y

linux1 linux2 安装

yum install impala-server -y

yum install impala-shell -y

linux3启动

nohup hive --service metastore &

linux1启动

nohup hive --service hiveserver2 &

短路路读取:就是Client与DataNode属于同⼀一节点,⽆无需再经过⽹网络传输数据,直接本地读取。

所有impala节点执行命令:

ln -s /opt/lxq/servers/hadoop-2.9.2/etc/hadoop/core-site.xml

/etc/impala/conf/core-site.xml

ln -s /opt/lxq/servers/hadoop-2.9.2/etc/hadoop/hdfs-site.xml

/etc/impala/conf/hdfs-site.xml

ln -s /opt/lxq/servers/hive-2.3.7/conf/hive-site.xml

/etc/impala/conf/hive-site.xml

所有节点修改:vim /etc/default/impala

<!--更更新如下内容 -->

IMPALA_CATALOG_SERVICE_HOST=linux123

IMPALA_STATE_STORE_HOST=linux123

MYSQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java.jar

所有节点创建:

# 所有节点创建节点,并建立软连接

mkdir -p /usr/share/java

ln -s /opt/lxq/servers/hive-2.3.7/lib/mysql-connector-java-5.1.46.jar

/usr/share/java/mysql-connector-java.jar

vim /etc/default/bigtop-utils

export JAVA_HOME=/opt/lxq/servers/jdk1.8.0_231

#linux123启动如下⻆角⾊色

service impala-state-store start

service impala-catalog start

service impala-server start

#其余节点启动如下⻆角⾊色

service impala-server start

ps -ef | grep impala

访问impalad的管理理界⾯面

http://linux123:25000/

访问statestored的管理理界⾯面

http://linux123:25010/

启动之后所有关于Impala的⽇日志默认都在/var/log/impala 这个路路径下,Linux123机器器上⾯面应该有三个进程,Linux121与Linux122机器器上⾯面只有⼀一个进程,如果进程个数不不对,去对应⽬目录下查看报错⽇日志.

Impala会附带安装一些其它东西,要删除

[root@linux122 conf]# which hadoop

/usr/bin/hadoop

[root@linux122 conf]# which hive

/usr/bin/hive

which命令 查找hadoop,hive等会发现,命令文件是/usr/bin/hadoop ⽽非我们自己安装的路

径,需要把这些删除掉,所有节点都要执⾏

[root@linux122 conf]# which hadoop

/usr/bin/hadoop

[root@linux122 conf]# which hive

/usr/bin/hive

rm -rf /usr/bin/hadoop

rm -rf /usr/bin/hdfs

rm -rf /usr/bin/hive

rm -rf /usr/bin/beeline

rm -rf /usr/bin/hiveserver2

#重新⽣生效环境变量量

source /etc/profile

进入impala命令: impala-shell

impala的操作流程更HIVE差不多,就不多重复写了

原理

查询原理

impalad

  • 作⽤用,负责读写数据⽂文件,接收来⾃自Impala-shell,JDBC,ODBC等的查询请求,与集群其它Impalad分布式并行完成查询任务,并将查询结果返回给中心协调者。
  • 角色名称为Impala Daemon,是在每个节点上运⾏行行的进程,是Impala的核⼼心组件,进程名是 Impalad;
  • 为了保证Impalad进程了了解其它Impalad的健康状况,Impalad进程会一直与statestore保持通信。
  • Impalad服务由三个模块组成:Query Planner、Query Coordinator和Query Executor,前两个 模块组成前端,负责接收SQL查询请求,解析SQL并转换成执⾏行行计划,交由后端执⾏行行,

statestored

  • statestore监控集群中Impalad的健康状况,并将集群健康信息同步给Impalad,
  • statestore进程名为statestored

catalogd

  • Impala执行的SQL语句句引发元数据发⽣生变化时,catalog服务负责把这些元数据的变化同步给其它Impalad进程(⽇日志验证,监控statestore进程⽇日志)
  • catalog服务对应进程名称是catalogd
  • 由于⼀一个集群需要⼀一个catalogd以及⼀一个statestored进程,⽽而且catalogd进程所有请求都是经过statestored进程发送,所以官⽅方建议让statestored进程与catalogd进程安排同个节点。

1. Client提交任务

Client发送⼀一个SQL查询请求到任意⼀一个Impalad节点,会返回⼀一个queryId⽤用于之后的客户端操

作。

2. ⽣生成单机和分布式执⾏行行计划

SQL提交到Impalad节点之后,Analyser依次执⾏行行SQL的词法分析、语法分析、语义分析等操作;

从MySQL元数据库中获取元数据,从HDFS的名称节点中获取数据地址,以得到存储这个查询相关

数据的所有数据节点

单机执⾏行行计划: 根据上⼀一步对SQL语句句的分析,由Planner先⽣生成单机的执⾏行行计划,该执⾏行行计

划是有PlanNode组成的⼀一棵树,这个过程中也会执⾏行行⼀一些SQL优化,例例如Join顺序改变、谓

词下推等。

分布式并⾏行行物理理计划:将单机执⾏行行计划转换成分布式并⾏行行物理理执⾏行行计划,物理理执⾏行行计划由⼀一

个个的Fragment组成,Fragment之间有数据依赖关系,处理理过程中需要在原有的执⾏行行计划

之上加⼊入⼀一些ExchangeNode和DataStreamSink信息等。

Fragment : sql⽣生成的分布式执⾏行行计划的⼀一个⼦子任务;

DataStreamSink:传输当前的Fragment输出数据到不不同的节点

3. 任务调度和分发

Coordinator将Fragment(⼦子任务)根据数据分区信息发配到不不同的Impalad节点上执⾏行行。Impalad

节点接收到执⾏行行Fragment请求交由Executor执⾏行行。

4. Fragment之间的数据依赖

每⼀一个Fragment的执⾏行行输出通过DataStreamSink发送到下⼀一个Fragment,Fragment运⾏行行过程中

不不断向coordinator节点汇报当前运⾏行行状态。

5. 结果汇总

查询的SQL通常情况下需要有⼀一个单独的Fragment⽤用于结果的汇总,它只在Coordinator节点运

⾏行行,将多个节点的最终执⾏行行结果汇总,转换成ResultSet信息。

6. 获取结果

客户端调⽤用获取ResultSet的接⼝口,读取查询结果。

优化

⽂文件格式

对于⼤大数据量量来说,Parquet⽂文件格式是最佳的

避免⼩小⽂文件

insert ... values 会产⽣生⼤大量量⼩小⽂文件,避免使⽤用

合理理分区粒度

利利⽤用分区可以在查询的时候忽略略掉⽆无⽤用数据,提⾼高查询效率,通常建议分区数量量在3万以下

(太多的分区也会造成元数据管理理的性能下降)

分区列列数据类型最好是整数类型

分区列列可以使⽤用string类型,因为分区列列的值最后都是作为HDFS⽬目录使⽤用,如果分区列列使⽤用

整数类型可以降低内存消耗

获取表的统计指标:在追求性能或者⼤大数据量量查询的时候,要先获取所需要的表的统计指标

(如:执⾏行行 compute stats )

减少传输客户端数据量量

聚合(如 count、sum、max 等)

过滤(如 WHERE )

limit限制返回条数

返回结果不不要使⽤用美化格式进⾏行行展示(在通过impala-shell展示结果时,添加这些可选参数: -

B、 --output_delimiter )

在执⾏行行之前使⽤用EXPLAIN来查看逻辑规划,分析执⾏行行逻辑

Impala join⾃自动的优化⼿手段就是通过使⽤用COMPUTE STATS来收集参与Join的每张表的统计信

息,然后由Impala根据表的⼤大⼩小、列列的唯⼀一值数⽬目等来⾃自动优化查询。为了了更更加精确地获取

每张表的统计信息,每次表的数据变更更时(如执⾏行行Insert,add partition,drop partition等)最好

都要执⾏行行⼀一遍COMPUTE STATS获取到准确的表统计信息。

感谢阅读!!!

http://www.yayakq.cn/news/572/

相关文章:

  • 前端做网站使用的软件工具ip代理网址
  • 网站开发价格表软件技术服务包括哪些内容
  • 网页制作与网站建设完全学习手册下载12建网站
  • 网站建设的竞争力成都青羊区建设局网站
  • 建一个营销网站多少钱中国建设信息港网站
  • 锡山区住房和城乡建设局网站商家怎么入驻微信小程序
  • 电子商务网站设计毕业设计论文长春免费网站建站模板
  • 企业网站模板免费下载备案期间网站
  • 龙岩kk网手机版seo咨询推广
  • 哪里有做网站的公司北京装饰公司十强
  • 廉政建设网评文章网站黄山网站建设方案
  • 深圳宝安区邮编seo研究协会网app
  • 精美网站源码下载自建网站卖东西
  • 如何在百度提交自己的网站wordpress的登录页面模板
  • 模板免费网站wordpress 表格小工具
  • 上海商场网站开发网站空间报价单
  • 个人网站做什么资源赚钱网站建设的需要分析
  • 网站建设工作部署会网站开发和软件开发含义
  • 视频网站直播怎么做阿里云的网站程序如何做
  • 房地产公司网站建设与推广方案旅游网站建设和实现
  • 福州高端网站建设网络服务丢失
  • 上海网站建设公司官网做信息网站要办icp证吗
  • 建设公司网站需要准备哪些材料乐从容桂网站建设
  • 张家港做网站优化价格网站开发及运营成本
  • 太原网站建设培训学校wordpress禁止留言网址
  • 万网网站首页为网站做外链的文章
  • 贵州企业网站建设案例忘记wordpress
  • 自己怎么做个网站qq公众号平台
  • 小型门户网站有哪些奉贤青岛网站建设
  • onethink做移动网站杭州seo排名