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的更多相关文章

  1. 为集群配置Impala和Mapreduce

    FROM: http://www.importnew.com/5881.html -- 扫描加关注,微信号: importnew -- 原文链接: Cloudera 翻译: ImportNew.com ...

  2. Impala SQL 语言元素(翻译)[转载]

    原 Impala SQL 语言元素(翻译) 本文来源于http://my.oschina.net/weiqingbin/blog/189413#OSC_h2_2 摘要 http://www.cloud ...

  3. Impala SQL 语言元素(翻译)

    摘要: http://www.cloudera.com/content/cloudera-content/cloudera-docs/Impala/latest/Installing-and-Usin ...

  4. 学习Hive和Impala必看经典解析

    Hive和Impala作为数据查询工具,它们是怎样来查询数据的呢?与Impala和Hive进行交互,我们有哪些工具可以使用呢? 我们首先明确Hive和Impala分别提供了对应查询的接口: (1)命令 ...

  5. Llama-impala on yarn的中间协调服务

    本文基于CDH发行版下的Hadoop Yarn和Impala 早期的Impala版本号中.为了使用Impala.我们一般会在以Client/Server的结构在各个集群节点启动impala-serve ...

  6. Cloudera Impala需求

    Cloudera Impala需求 为了达到预期的效果,Impala依赖于软件.硬件的可用性,以及下面章节描述的配置. 继续阅读: 支持的操作系统 支持的Hadoop发布 Hive Metastore ...

  7. Hadoop/Spark生态圈里的新气象

    令人惊讶的是,Hadoop在短短一年的时间里被重新定义.让我们看看这个火爆生态圈的所有主要部分,以及它们各自具有的意义. 对于Hadoop你需要了解的最重要的事情就是 ,它不再是原来的Hadoop. ...

  8. TPCH Benchmark with Impala

    1. 生成测试数据在TPC-H的官网http://www.tpc.org/tpch/上下载dbgen工具,生成数据http://www.tpc.org/tpch/spec/tpch_2_17_0.zi ...

  9. 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 ...

随机推荐

  1. 读《编写可维护的JavaScript》第五章总结

    第五章 UI层的松耦合 5.1 什么是松耦合 在Web开发中,用户界面是由三个彼此隔离又相互作用的层定义的: HTML是用来定义页面的数据和语义 CSS用来给页面添加样式 JavaScript用来给页 ...

  2. Sublime Text 3 支持的热门插件推荐(转载)

    SublimeText是一款非常精巧的文本编辑器,适合编写代码.做笔记.写文章.它用户界面十分整洁,功能非同凡响,性能快得出奇.这些非常棒的特性 包括任意跳转(Goto Anything).多重选择( ...

  3. HBase的Write Ahead Log (WAL) —— API与基本概念

    HBase的数据写入操作,会先记录到HLog中,再真正写入到MemStore中.前者是对写入友好的格式,后者是对查询友好的格式.所以前者吞吐量更高,写入成功率大,提高了系统的可靠性,“基本”可以实现宕 ...

  4. URL编码和解码工具

    开发中发现需要进行URL的编解码,每次百度出来的还带广告而且比较慢,写了一个本地的工具,比较简单,希望对大家有帮助. <!DOCTYPE html PUBLIC "-//W3C//DT ...

  5. sql:sum(value)与count(letter),当用户不存在时查询到的值

    SELECT sum(value) FROM invoice where username='yueer' SELECT count(letters) FROM invoice where usern ...

  6. google play下载apk

    http://apps.evozi.com/apk-downloader/ 输入apk下载地址

  7. MarkDown常用语法记录

    目录 1. 斜体和粗体 2. 分级标题 3. 超链接 3.1 行内式(推荐) 3.2 行外式 3.3 自动链接 4. 锚点 5. 列表 5.1无序列表 5.2有序列表 6. 引用 7. 插入图像 8. ...

  8. java父类与接口有相同的方法

    这是java多态的一个体现,如果一个类classA继承了类classB,有实现了接口interfaceA,并且接口中有方法funA(),且父类classB中也有funA(),那么对于classA来说既 ...

  9. contiki-定时器etimer

    Contiki内核是基于事件驱动和Protothreads机制,事件既可以是外部事件(比如按键,数据到达),也可以是内部事件(如时钟中断).定时器的重要性不言而喻,Contiki提供了5种定时器模型, ...

  10. 高并发下MySQL出现checking permissions

    在某些数据访问层框架中,会使用show full tables from test like 'demo',来检查数据库的状态.当数据库中表的数量较少时,并没有出现严重的问题.但是当数据库中的表数量多 ...