机器环境:
4个slave节点
10.200.187.86 cslave1 4核 3G
10.200.187.87 cslave2 2核 4G
10.200.187.88 cslave3 2核 4G
10.200.187.89 cslave4 2核 6G
测试效果:
[img]
[/img]
总结:
1.在内存够用并且是简单sql条件下,impala相比hive执行效率高很多,简单的sql在百万级别数据中运行,耗时几秒甚至不用一秒。
2.impala性能如何,与数据的存储格式关系很大,百万级别text格式与hbase格式相差十几倍,千万级别parquet格式与text格式相差百倍。
3.在当前集群配置下,百万级别impala join略比hive性能高(3~4倍),但在千万级别时impala大表的join执行失败(内存不足)。
4.impala采用parquet存储(列式),select部分字段+where条件查询效率很高。
问题:
官方表示impala新版本可以在生产环境中使用,但根据业界人反馈,会有很多问题,重点问题是出现内存溢出情况。官方推荐impala节点的内存是128G。
建议使用场景:
部署于生产环境,可应用于运维,做简单查数据工作,效率高。但有一定的内存占用,不建议使用复杂sql例如大表join等。
imapla实时查询,如上可以看到,相对hive性能是有很大提高的,但它也不能达到关系型数据库的效果,所以根据实际业务场景需求而定。
部分资料:
适用面:
Hive: 复杂的批处理查询任务,数据转换任务。
Impala:实时数据分析,因为不支持UDF,能处理的问题域有一定的限制,与Hive配合使用,对Hive的结果数据集进行实时分析。
优点:
支持SQL查询,快速查询大数据。
可以对已有数据进行查询,减少数据的加载,转换。
多种存储格式可以选择(Parquet, Text, Avro, RCFile, SequeenceFile)。
可以与Hive配合使用。
缺点:
不支持用户定义函数UDF。
不支持text域的全文搜索。
不支持Transforms。
不支持查询期的容错。
对内存要求高。
补充:
ERRORS报错情况
create table testjoinparquet as
> select a.tid,a.buyer_nick,b.status,b.adjust_fee,b.buyer_email
> from (select tid,buyer_nick from s_trade_big_parquet) a
> join
> (select tid,status,adjust_fee,buyer_email from s_trade_big_parquet) b
> on (a.tid=b.tid);
Query: create table testjoinparquet as select a.tid,a.buyer_nick,b.status,b.adjust_fee,b.buyer_email from (select tid,buyer_nick from s_trade_big_parquet) a join (select tid,status,adjust_fee,buyer_email from s_trade_big_parquet) b on (a.tid=b.tid)
Query aborted.
ERRORS ENCOUNTERED DURING EXECUTION:
Backend 3:Memory Limit Exceeded
Query Limit: Consumption=1.35 GB
Fragment dd496e82ab98ee40:19f71d48047534a2: Consumption=16.00 KB
UDFs: Consumption=0.00
EXCHANGE_NODE (id=4): Consumption=0.00
DataStreamMgr: Consumption=0.00
HdfsTableSink: Consumption=0.00
Fragment dd496e82ab98ee40:19f71d48047534a6: Consumption=1.27 GB
UDFs: Consumption=0.00
HASH_JOIN_NODE (id=2): Consumption=1.07 GB
HDFS_SCAN_NODE (id=0): Consumption=207.88 MB
EXCHANGE_NODE (id=3): Consumption=1.70 MB
DataStreamMgr: Consumption=1.70 MB
DataStreamSender: Consumption=2.45 KB
Fragment dd496e82ab98ee40:19f71d48047534aa: Consumption=82.39 MB
UDFs: Consumption=0.00
HDFS_SCAN_NODE (id=1): Consumption=82.19 MB
DataStreamSender: Consumption=8.00 KB
说明:内存已经用完,导致部分节点读取异常,parquet格式表写入很耗内存,因为parquet以1G为单位,1G得全部加载到内存中再写入。
相关文档:
开源中国:http://my.oschina.net/weiqingbin/blog/196143#OSC_h2_31,里边也有很多Impala框架优化应用方面的翻译文档。
hive与impala对比,sql差异参看http://www.cloudera.com/content/cloudera-content/cloudera-docs/Impala/latest/Installing-and-Using-Impala/ciiu_langref_unsupported.html#langref_unsupported,
中文:http://my.oschina.net/weiqingbin/blog/189414
- 大小: 161 KB
分享到:
相关推荐
* IMPALA_SERVER_ARGS:Impala 服务器的参数,例如 `-log_dir=${IMPALA_LOG_DIR} -state_store_port=${IMPALA_STATE_STORE_PORT} -use_statestore -state_store_host=${IMPALA_STATE_STORE_HOST} -be_port=${IMPALA_...
- 验证连接并进行测试。 7. **Impala 2.12**: 版本2.12指的是Impala的特定版本,每个版本可能包含新特性、性能改进和错误修复。确保使用与CDH5.16.2兼容的Impala JDBC驱动是很重要的,因为不同版本的Impala可能...
提到的"car.html"文件可能包含一个关于汽车数据的示例或者是一个用于演示Impala查询的测试数据集。在Impala中,可以使用SQL语句来查询这个HTML文件中的数据,例如提取车型、制造商等信息。通过Impala,我们可以快速...
- 在完成以上配置后,可以通过命令行测试连接是否成功: ```bash isql -v Impala ``` 如果提示连接成功,则说明配置无误。 #### 四、常见问题及解决方案 - **问题 1**:连接失败。 - 检查 `odbcinst.ini` 和 `...
在测试环境中,我们使用了三种解决方案对Impala并发查询缓慢问题进行了测试验证。结果表明,三种解决方案都可以解决Impala并发查询缓慢问题,但每种方案都有其优缺点。 结论 Impala 并发查询缓慢问题可以通过多种...
- **数据质量管理**:检测和报告 Impala 数据的质量问题,如不一致或缺失的数据。 - **审计和合规性**:记录和报告 Impala 的查询活动,以满足法规遵从性要求。 总之,Apache Atlas 2.1.0 Impala Hook 是一个强大的...
### Impala UUID UDF 创建教程详解 #### 一、引言 在大数据处理场景中,经常需要使用到UUID(Universally Unique Identifier)作为记录的唯一标识。UUID 的标准格式为带有连字符的字符串,例如:“550e8400-e29b-41...
如果检测到某个节点故障,Statestore会立即通知其他节点,以避免向故障节点分配新的任务。此外,Statestore还可以帮助集群在节点失败后进行自动恢复。 ### Impala基本操作 #### 2.1 DDL操作 - **ALTER TABLE**:...
在 Impala 的JDBC驱动包2.5.28.1047 GA中,"GA"通常代表"General Availability",意味着这是一个正式发布的、经过充分测试的稳定版本。这个版本可能包含了一些性能提升、bug修复以及对新特性的支持,确保了与Impala...
在“描述”中提到,有一个名为`TestImpala.java`的类,我们可以推测这是用来测试JDBC连接Impala的示例代码。一个典型的`TestImpala.java`类可能包含以下步骤: 1. 加载驱动:使用`Class.forName()`方法加载Impala的...
- **验证升级结果:** 执行测试查询以确认升级成功。 #### 八、Impala启动与监控 **启动Impala:** - **命令行方式:** 直接使用命令行启动各个组件。 - **配置启动选项:** 可以通过命令行参数调整启动时的行为。...
4. **测试脚本**:用于验证钩子功能的正确性的单元测试或集成测试脚本。 Apache ZooKeeper 在 Apache Atlas 中扮演了关键角色。ZooKeeper 是一个分布式协调服务,负责维护集群的配置信息、命名服务、节点间的同步...
验证Impala是否正常工作,可以通过执行SQL查询或者使用`impala-shell`来测试。 7. **学习与参考**:参考提供的文档如"Impala安装文档.doc"、"Impala.doc"、"Impalaѧϰ.doc"以及"参考文档",这些文档会详细介绍安装...
压缩包中的“Impala-master”可能是指Impala项目的源代码仓库,通常包含Impala的源代码、构建脚本、测试用例等相关资源。开发者或有兴趣深入研究Impala的人可以通过这个源代码库了解其内部工作机制,进行定制化开发...
- **作用**: ImpalaStatestore组件负责监控集群中所有DataNodes上的ImpalaDaemon的运行状况,并将检测结果转发给每个守护进程。 - **实现方式**: Statestored是一个运行在特定主机上的进程,用于跟踪ImpalaDaemon的...
2.5.38.1058 GA表示这是Impala JDBC驱动的一个稳定版本(GA代表General Availability),通常意味着这个版本经过充分测试,适合生产环境使用。 总的来说,"impala_jdbc_2.5.38.1058.zip"是解决DBeaver中连接到...
Impala 是 Cloudera 提供的一款高效率的 SQL 查询工具,提供实时的查询效果,官方测试性能比 Hive 快 10 到 100 倍,其 SQL 查询比 SparkSQL 还要更加快速,号称是当前大数据领域最快的查询 SQL 工具。Impala 是参照...
【标题】:“10-1+Impala+落地&优化:神策数据多维分析平台构建实战.pdf”指的是一个关于Impala在神策数据多维分析平台构建中的应用与优化的实战分享。在这个主题中,演讲者将深入探讨如何利用Impala技术来提升数据...