impala

Impala 中invalidate metadata和refresh

坚强是说给别人听的谎言 提交于 2019-11-28 15:55:27
首先了解一下:Impala如何融入Hadoop生态系统 Impala使用了Hadoop生态系统中许多熟悉的组件。Impala可以作为消费者和生产者与其他Hadoop组件交换数据,因此它可以以灵活的方式适合您的ETL和ELT管道。 How Impala Works with Hive Impala的一个主要目标是使SQL-on-Hadoop操作足够快速和高效,以吸引新的用户类别,并向新的用例类型开放Hadoop。在实用的情况下,它利用现有的Apache Hive基础设施(许多Hadoop用户已经拥有这些基础设施)来执行长时间运行的、面向批处理的SQL查询。 特别是,Impala将它的表定义保存在传统的MySQL或PostgreSQL数据库(称为metastore)中,Hive将这类数据保存在这个数据库中。因此,只要所有列都使用Impala支持的数据类型、文件格式和压缩编解码器,Impala就可以访问Hive定义或加载的表。 最初关注查询特性和性能意味着Impala可以用SELECT语句读取比用INSERT语句写入更多类型的数据。要使用Avro、RCFile或SequenceFile文件格式查询数据,可以使用Hive加载数据。 Impala查询优化器还可以使用表统计信息和列统计信息。最初,您使用Hive中的analysis TABLE语句收集这些信息;在Impala 1.2

基于Sentry实现数据访问权限控制

送分小仙女□ 提交于 2019-11-28 15:29:01
Sentry初识 Sentry是适用于Hadoop生态环境、基于角色的授权管理系统,可以模块化集成到HDFS、Hive、Impala。它是一个策略引擎,运行定义授权规则,以校验用户对数据模型的访问请求。 授权粒度 Sentry数据访问授权的实现依赖于授权对象和操作,授权对象定义要受授权规则约束的对象,可以是服务器(server)、数据库、表、视图甚至是列;操作定义运行的操作粒度,包括查找(select)、删除(delete)、创建(create)等。授权对象和操作级别的组合模式提供了不同特权级别的访问控制。 在某些场景下,管理员可以使用视图的方式限制对行或列的访问,能一定程度上减少权限设置的工作量。 Role 角色是一个权限集合,定义授权规则的基本单位。角色的概念允许将多个授权规则集合到一起,然后再把权限相同的用户分到一个角色里,很方便后续权限管理维护。比如不同业务的人员访问不同的业务表,可以建多个角色,再给角色赋予相对应的业务表访问权限,如果这类用户要修改权限,只需对角色进行权限更改。 Group 组是一个用户集合,默认情况下Sentry使用Hadoop中配置的组映射机制(比如使用OS的用户组),Sentry使用Hadoop配置的组映射机制,以确保Sentry看到组映射和Hadoop生态系统中其他组件看到的相同。把一个Group加到多个Role里,这样就给用户分配到了权限

Apache Sentry实战之旅(一)—— Impala+Sentry整合

浪子不回头ぞ 提交于 2019-11-28 15:28:26
Impala 默认是以 impala 这个超级用户运行服务,执行 DML 和 DDL 操作的,要实现不同用户之间细粒度的权限控制,需要与 Sentry 整合。 Sentry 是 Apache 下的一个开源项目,它基于 RBAC 的授权模型实现了权限控制, Impala 与它整合以后,就能实现不同用户之间在应用层的权限认证,从而控制用户的 DML 、 DDL 、 DCL 操作权限。 Sentry 为确保数据安全,提供了一个统一平台,可以使用现有的 Hadoop Kerberos 实现安全认证,同时,通过 Hive 或 Impala 访问数据时可以使用同样的 Sentry 协议。本文会对 Sentry 进行简单的介绍并演示 Impala+Sentry 整合后的实际效果。 Sentry介绍 Apache Sentry 是 Cloudera 公司发布的一个用于权限控制的 Hadoop 开源组件,已于2016年3月顺利从孵化器毕业,成为 Apache 顶级项目。它基于 RBAC 的授权模型实现了细粒度的权限控制, Sentry 目前可以与 Apache Hive 、 Hive Metastore / HCatalog 、 Apache Solr 、 Impala 和 HDFS (仅限于 Hive 表数据)整合实现权限控制。以下是 Sentry 以及它与 Hadoop 其他组件整合的一张概览图

impala集成LDAP

若如初见. 提交于 2019-11-28 12:56:04
目的: 为解决kerberos安全机制下的impala,resin cache kerberos tgt maxrenewlife天失效问题。 说明: impala启用LDAP后,会优先选择LDAP用户密码认证,当LDAP认证失败时自动选择kerberos安全认证。 步骤: 关闭防火墙,设置开机不启动防火墙 sudo /etc/init.d/iptables status sudo /etc/init.d/iptables stop / sudo service iptables stop sudo chkconfig iptables off 安装LDAP yum install db4 db4-utils db4-devel cyrus-sasl* krb5-server-ldap -y yum install openldap openldap-servers openldap-clients openldap-devel compat-openldap -y 开启ldaps /etc/sysconfig/ldap SLAPD_LDAPS=yes 更新配置库 rm -rf /var/lib/ldap/* cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG chown -R ldap

Cloudera Manager卸载笔记

吃可爱长大的小学妹 提交于 2019-11-28 07:06:57
1、通过管理平台分别停止组件服务和Cloudera Management Service 2、通过管理平台注销并移除Parcles (在控制台注销并移除,无论是安装的Parcles还是未安装的Parcles) 3、停止后台服务   sudo service cloudera-scm-agent stop sudo service cloudera-scm-server stop   sudo service cloudera-scm-server-db stop sudo service mysqld stop 4、卸载Cloudera Manager Server 执行命令:sudo /usr/share/cmf/uninstall-cloudera-manager.sh 5、清理配置和缓存信息 在所有agent上执行:sudo umount -v /var/run/cloudera-scm-agent/process 在所有主机上执行:sudo rm -rf /usr/share/cmf; sudo rm -rf /var/lib/cloudera*;            sudo rm -rf /var/cache/yum/x86_64/6/cloudera*;            sudo rm -rf /var/log/cloudera*;           

Kudu+Impala介绍

拟墨画扇 提交于 2019-11-28 00:01:12
Kudu+Impala介绍 概述 Kudu和Impala均是Cloudera贡献给Apache基金会的顶级项目。Kudu作为底层存储,在支持高并发低延迟kv查询的同时,还保持良好的Scan性能,该特性使得其理论上能够同时兼顾OLTP类和OLAP类查询。Impala作为老牌的SQL解析引擎,其面对即席查询(Ad-Hoc Query)类请求的稳定性和速度在工业界得到过广泛的验证,Impala并没有自己的存储引擎,其负责解析SQL,并连接其底层的存储引擎。在发布之初Impala主要支持HDFS,Kudu发布之后,Impala和Kudu更是做了深度集成。 在众多大数据框架中,Impala定位类似Hive,不过Impala更关注即席查询SQL的快速解析,对于执行时间过长的SQL,仍旧是Hive更合适。对于GroupBy等SQL查询,Impala进行的是内存计算,因而Impala对机器配置要求较高,官方建议内存128G以上,此类问题Hive底层对应的是传统的MapReduce计算框架,虽然执行效率低,但是稳定性好,对机器配置要求也低。 执行效率是Impala的最大优势,对于存储在HDFS中的数据,Impala的解析速度本来就远快于Hive,有了Kudu加成之后,更是如虎添翼,部分查询执行速度差别可达百倍。 值得注意的是,Kudu和Impala的英文原意是来自非洲的两个不同品种的羚羊

hive,shark,sparkSQL,hive on spark,impala,drill比较

我怕爱的太早我们不能终老 提交于 2019-11-27 16:08:07
Hive on Mapreduce Hive的原理大家可以参考这篇 大数据时代的技术hive:hive介绍 ,实际的一些操作可以看这篇 笔记:新手的Hive指南 ,至于还有兴趣看Hive优化方法可以看看我总结的这篇 Hive性能优化上的一些总结 Hive on Mapreduce执行流程 执行流程详细解析 Step 1:UI(user interface) 调用 executeQuery 接口,发送 HQL 查询语句给 Driver Step 2:Driver 为查询语句创建会话句柄,并将查询语句发送给 Compiler, 等待其进行语句解析并生成执行计划 Step 3 and 4:Compiler 从 metastore 获取相关的元数据 Step 5:元数据用于对查询树中的表达式进行类型检查,以及基于查询谓词调整分区,生成计划 Step 6 (6.1,6.2,6.3):由 Compiler 生成的执行计划是阶段性的 DAG,每个阶段都可能会涉及到 Map/Reduce job、元数据的操作、HDFS 文件的操作,Execution Engine 将各个阶段的 DAG 提交给对应的组件执行。 Step 7, 8 and 9:在每个任务(mapper / reducer)中,查询结果会以临时文件的方式存储在 HDFS 中。保存查询结果的临时文件由 Execution Engine

Python3安装impala

岁酱吖の 提交于 2019-11-27 05:04:30
步骤: 1.安装 Visual C++ ,目前最新是2019版   安装工作负载c++桌面开发    2.pip3安装模块 pip3 install pure-sasl==0.5.1 pip3 install thrift-sasl==0.2.1 --no-deps pip3 install thrift==0.9.3 pip3 install impyla==0.14.1 pip3 install bitarray==0.8.3 pip3 install thriftpy==0.3.9 安装时报错: # TypeError: can't concat str to bytes 3.改错 编辑    python安装目录/site-packages/thrift_sasl/__init__.py # 定位到错误的最后一条,在init.py第94行 (注意代码的缩进) header = struct.pack(">BI", status, len(body)) self._trans.write(header + body) 更改为: header = struct.pack(">BI", status, len(body)) if(type(body) is str): body = body.encode() self._trans.write(header + body) 4

Error when connect to impala with JDBC under kerberos authrication

≡放荡痞女 提交于 2019-11-26 04:00:30
问题 I create a class SecureImpalaDataSource that extends DriverManagerDataSource, and use UserGroupInformation.doAs() to get a Connection to impala with keytab file. But I get the error as follow: java.sql.SQLException: [Simba]ImpalaJDBCDriver Error initialized or created transport for authentication: [Simba]ImpalaJDBCDriver Unable to connect to server: null. But I am successful when I get the connection with kerberos ticket cache in a test demo. Anyone can help me? 回答1: Forget about the Hadoop