运行impala tpch
1.安装git和下载tpc-h-impala脚步
[root@ip-172-31-34-31 ~]# yum install git
[root@ip-172-31-34-31 ~]# git clone https://github.com/kj-ki/tpc-h-impala
[root@ip-172-31-34-31 ~]# cd tpc-h-impala/
[root@ip-172-31-34-31 tpc-h-impala]# ls
benchmark.conf confs data README.md tpch_benchmark.sh tpch_hive tpch_impala tpch_prepare
2.将tpch dbgen tool生成好的数据移动到指定目录
[root@ip-172-31-34-31 data]# mv /root/tpch_2_17_0/data10g/*.tbl /root/tpc-h-impala/data
3.调整tpc-h-impala脚本
由于涉及到权限问题,调整tpch_prepare_data.sh脚步:将第一行改为如下:
sudo -u hdfs /usr/bin/hadoop fs -mkdir /tpch/
并增加一行:
sudo -u hdfs /usr/bin/hadoop fs -chown root /tpch
4.运行脚步tpch_prepare_data.sh,将数据从本地写到HDFS
[root@ip-172-31-34-31 data]# ./tpch_prepare_data.sh
5.调整tpch_benchmark.sh脚本
由于在运行过程中会在Hive上建表,这些表要对impala可见,需要运行invalidate metadata,在运行impala查询的语句前加入以下一行
$IMPALA_CMD -q 'invalidate metadata' 2>&1
#!/usr/bin/env bash # set up configurations
source benchmark.conf; if [ -e "$LOG_FILE" ]; then
timestamp=`date "+%F-%R" --reference=$LOG_FILE`
backupFile="$LOG_FILE.$timestamp"
mv $LOG_FILE $LOG_DIR/$backupFile
fi echo ""
echo "***********************************************"
echo "* TPC-H benchmark on Impala *"
echo "***********************************************"
echo " "
echo "See $LOG_FILE for more details of query errors."
echo "" trial=
while [ $trial -lt $NUM_OF_TRIALS ]; do
trial=`expr $trial + `
echo "Executing Trial #$trial of $NUM_OF_TRIALS trial(s)..." for query in ${TPCH_QUERIES_ALL[@]}; do
echo "Running query: $query" | tee -a $LOG_FILE echo "Running Hive prepare query: $query" >> $LOG_FILE
$TIME_CMD $HIVE_CMD -f $BASE_DIR/tpch_prepare/${query}.hive >& | tee -a $LOG_FILE | grep '^Time:'
returncode=${PIPESTATUS[]}
if [ $returncode -ne ]; then
echo "ABOVE QUERY FAILED:$returncode"
fi # If you want to use old beta, enable below.
#$TIME_CMD $IMPALA_CMD -q 'refresh' >& | tee -a $LOG_FILE | grep '^Time:'
#returncode=${PIPESTATUS[]}
#if [ $returncode -ne 0 ]; then
# echo "ABOVE QUERY FAILED:$returncode"
#fi echo "Running Impala query: $query" >> $LOG_FILE
$IMPALA_CMD -q 'invalidate metadata' >&
$TIME_CMD $IMPALA_CMD --query_file=$BASE_DIR/tpch_impala/${query}.impala >& | tee -a $LOG_FILE | grep '^Time:'
returncode=${PIPESTATUS[]}
if [ $returncode -ne ]; then
echo "ABOVE QUERY FAILED:$returncode"
fi #echo "Running Hive query: $query" >> $LOG_FILE
#$TIME_CMD $HIVE_CMD -f $BASE_DIR/tpch_hive/${query}.hive >& | tee -a $LOG_FILE | grep '^Time:'
#returncode=${PIPESTATUS[]}
#if [ $returncode -ne 0 ]; then
# echo "ABOVE QUERY FAILED:$returncode"
#fi
done done # TRIAL
echo "***********************************************"
6.修改配置文件benchmark.conf,使指向正确的impala master:
由于在impala-shell的集群上没有配置impala-daemon,所以需要这个修改
# impala
IMPALA_CMD="/usr/bin/impala-shell --impalad=172.31.25.244:21000"
7.mr,hive,impala
注意,要运行impala,hive必须先启动MR
8.运行benmark脚本
[root@ip-172-31-34-31 tpc-h-impala]# pwd
/root/tpc-h-impala
[root@ip-172-31-34-31 tpc-h-impala]# ./tpch_benchmark.sh
运行impala tpch的更多相关文章
- 为集群配置Impala和Mapreduce
FROM: http://www.importnew.com/5881.html -- 扫描加关注,微信号: importnew -- 原文链接: Cloudera 翻译: ImportNew.com ...
- Impala SQL 语言元素(翻译)[转载]
原 Impala SQL 语言元素(翻译) 本文来源于http://my.oschina.net/weiqingbin/blog/189413#OSC_h2_2 摘要 http://www.cloud ...
- Impala SQL 语言元素(翻译)
摘要: http://www.cloudera.com/content/cloudera-content/cloudera-docs/Impala/latest/Installing-and-Usin ...
- 学习Hive和Impala必看经典解析
Hive和Impala作为数据查询工具,它们是怎样来查询数据的呢?与Impala和Hive进行交互,我们有哪些工具可以使用呢? 我们首先明确Hive和Impala分别提供了对应查询的接口: (1)命令 ...
- Llama-impala on yarn的中间协调服务
本文基于CDH发行版下的Hadoop Yarn和Impala 早期的Impala版本号中.为了使用Impala.我们一般会在以Client/Server的结构在各个集群节点启动impala-serve ...
- Cloudera Impala需求
Cloudera Impala需求 为了达到预期的效果,Impala依赖于软件.硬件的可用性,以及下面章节描述的配置. 继续阅读: 支持的操作系统 支持的Hadoop发布 Hive Metastore ...
- Hadoop/Spark生态圈里的新气象
令人惊讶的是,Hadoop在短短一年的时间里被重新定义.让我们看看这个火爆生态圈的所有主要部分,以及它们各自具有的意义. 对于Hadoop你需要了解的最重要的事情就是 ,它不再是原来的Hadoop. ...
- TPCH Benchmark with Impala
1. 生成测试数据在TPC-H的官网http://www.tpc.org/tpch/上下载dbgen工具,生成数据http://www.tpc.org/tpch/spec/tpch_2_17_0.zi ...
- CIB Training Scripts For TPC-H Benchmark
http://52.11.56.155:7180/http://52.11.56.155:8888/ impala-shell -i 172.31.25.244 sudo -u hdfs hdfs d ...
随机推荐
- 读《编写可维护的JavaScript》第五章总结
第五章 UI层的松耦合 5.1 什么是松耦合 在Web开发中,用户界面是由三个彼此隔离又相互作用的层定义的: HTML是用来定义页面的数据和语义 CSS用来给页面添加样式 JavaScript用来给页 ...
- Sublime Text 3 支持的热门插件推荐(转载)
SublimeText是一款非常精巧的文本编辑器,适合编写代码.做笔记.写文章.它用户界面十分整洁,功能非同凡响,性能快得出奇.这些非常棒的特性 包括任意跳转(Goto Anything).多重选择( ...
- HBase的Write Ahead Log (WAL) —— API与基本概念
HBase的数据写入操作,会先记录到HLog中,再真正写入到MemStore中.前者是对写入友好的格式,后者是对查询友好的格式.所以前者吞吐量更高,写入成功率大,提高了系统的可靠性,“基本”可以实现宕 ...
- URL编码和解码工具
开发中发现需要进行URL的编解码,每次百度出来的还带广告而且比较慢,写了一个本地的工具,比较简单,希望对大家有帮助. <!DOCTYPE html PUBLIC "-//W3C//DT ...
- sql:sum(value)与count(letter),当用户不存在时查询到的值
SELECT sum(value) FROM invoice where username='yueer' SELECT count(letters) FROM invoice where usern ...
- google play下载apk
http://apps.evozi.com/apk-downloader/ 输入apk下载地址
- MarkDown常用语法记录
目录 1. 斜体和粗体 2. 分级标题 3. 超链接 3.1 行内式(推荐) 3.2 行外式 3.3 自动链接 4. 锚点 5. 列表 5.1无序列表 5.2有序列表 6. 引用 7. 插入图像 8. ...
- java父类与接口有相同的方法
这是java多态的一个体现,如果一个类classA继承了类classB,有实现了接口interfaceA,并且接口中有方法funA(),且父类classB中也有funA(),那么对于classA来说既 ...
- contiki-定时器etimer
Contiki内核是基于事件驱动和Protothreads机制,事件既可以是外部事件(比如按键,数据到达),也可以是内部事件(如时钟中断).定时器的重要性不言而喻,Contiki提供了5种定时器模型, ...
- 高并发下MySQL出现checking permissions
在某些数据访问层框架中,会使用show full tables from test like 'demo',来检查数据库的状态.当数据库中表的数量较少时,并没有出现严重的问题.但是当数据库中的表数量多 ...