Impala使用笔记(一)

Impala与HBase整合测试

说明:

1、测试思路:

使用sqoop将测试数据从关系数据库mysql导入到hbase中;接着进行Impala与HBase的整合测试;最后,如果环境允许,对比关系型数据库进行性能测试。

2、测试环境:

Cloudera5.3.0版本

IP地址 主机名 说明
172.16.30.2 h1 监控节点、mysql数据库
172.16.30.3 h2 NAMENODE、Hive、HBase等服务
172.16.30.4 h3 Sqoop、Impala服务

数据准备:

1、  创建数据库bigdata

2、  创建测试表

客户基本信息表:

客户交易明细表:

测试数据:

3、  使用sqoop将数据从关系数据库(mysql)加载到HBase

sqoop import --connect jdbc:mysql://h1:3306/bigdata--username root --password mysql -m 1 --table custom_info --hbase-create-table--hbase-table custom_info --column-family customInfo --hbase-row-key custom_id

注意:

1、  如果没有操作hdfs的权限,添加环境变量HADOOP_USER_NAME=hdfs到/etc/profile

2、  Rowkey不能为null;如果rowkey有重复,加载到HBase中只有一条记录

整合过程:

使用HBase中已创建的表(custom_info、custom_trans)

1、  在Hive中创建外部表

WITHSERDEPROPERTIES选项中指定Hive外部表字段到HBase列的映射,其中“:key”对应于HBase中的RowKey,名称为“user_id”,其余的就是列簇info中的列名。最后在TBLPROPERTIES中指定了HBase中要进行映射的表名。

注意:由于在使用sqoop创建hbase表名为大写,创建外部表默认只识别小写表名,导致报错!包括列族的大小写!

2、  在Impala中同步元数据

Impala共享Hive的Metastore,这时需要同步元数据,可以通过在Impala Shell中执行同步命令。

3、  在Impala中查看HBase中表信息:

4、  查询HBase中的数据:

selectb.custom_id,b.custom_name,b.custom_code,b.sex,b.addr,sum(cast(a.trans_amt asDOUBLE)) from custom_trans a left join custom_info b on a.custom_id=b.custom_idgroup by b.custom_id,b.custom_name,b.custom_code,b.sex,b.addr;

注意:hive有隐式转换的功能,可以直接sum(string字段)(如果是数字型的值),impala的话需要手动cast

由于Mysql中数据库字符集的设置,导致这里的查询出现乱码。

OK,通过上面几步就可以使用Impala查询HBase中的表了。

性能测试

由于个人PC资源限制(8GB内存、128GB SSD),无法测试在数据量大的情况下,Impala与关系数据库的性能对比,以及Impala与Spark的性能对比。后续将简单给出测试思路。

时间: 2024-10-24 21:58:20

Impala使用笔记(一)的相关文章

Impala学习笔记(一)CDH5.4.0安装

鲁春利的工作笔记,好记性不如烂笔头 Impala是Cloudra公司发布的实时查询开源项目,基于Hive但使用内存进行计算,是使用CDH的首选PB级大数据实时查询分析引擎. Impala的安装方式有两种,CM方式和手动安装,手动安装比较麻烦,需要额外的步骤验证与其他组件的交互,这里采用CM的方式安装. 1.安装准备 CM当前最新版本为5.5.1,这里安装CM5.4.0和CDH5.4.0. http://www.cloudera.com/content/www/en-us/downloads.ht

Impala ODBC 安装笔记

Impala在线文档介绍了 Impala ODBC接口安装和配置 http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH5/latest/Impala/Installing-and-Using-Impala/ciiu_impala_odbc.html Impala ODBC 驱动下载地址: http://www.cloudera.com/content/support/en/downloads/connectors.h

Impala笔记之通用命令

help help命令用于查询其它命令的用法 [quickstart.cloudera:21000] > help select; Executes a SELECT... query, fetching all rows 直接输入help不带其它命令会列出目前可用的命令: [quickstart.cloudera:21000] > help; Documented commands (type help <topic>): ============================

学习笔记--Impala

参考 https://www.cloudera.com/documentation/enterprise/5-5-x/topics/impala_datetime_functions.html hdfs文件操作 $ whoami cloudera $ hdfs dfs -ls /user Found 3 items drwxr-xr-x - cloudera cloudera 0 2013-04-22 18:54 /user/cloudera drwxrwx--- - mapred mapred

Spark小象学院笔记

---小象学院陈超视频教程笔记------陈超讲 第一节 Scala基础与实践 基于JVM的FP+OO 静态类型 和Java互操作 函数式编程和面向对象的结合,纯静态的语言. 解释器(interpreter) 值与变量(val & var) 函数(Function) 1.常量 val 2.变量 var 3.main函数要定义在object里面 实例: object Basic{ def hello(name : String): String ={ "Hello :" + na

Impala实践之七:添加负载均衡

前言 impala的负载均衡,使用haproxy来做,主要是比较简单.安装后做一个小配置就行. 主要用的就是haproxy四层交换机的特性,讲所有指向haproxy主机和端口的请求,转发到相应的主机:端口上. cdh官网里面的信息已经比较久了,有些配置需要改,因此做一个笔记. impala负载 安装haproxy yum install haproxy 配置文件 vim /etc/haproxy/haproxy.cfg 下面是一个实际的配置文件,主机信息已经隐藏. global # To hav

【安全牛学习笔记】

弱点扫描 ╋━━━━━━━━━━━━━━━━━━━━╋ ┃发现弱点                                ┃ ┃发现漏洞                                ┃ ┃  基于端口五福扫描结果版本信息(速度慢)┃ ┃  搜索已公开的漏洞数据库(数量大)      ┃ ┃  使用弱点扫描器实现漏洞管理            ┃ ╋━━━━━━━━━━━━━━━━━━━━╋ [email protected]:~# searchsploit Usage:

51CTO持续更新《通哥的运维笔记》

<通哥的运维笔记>将持续在51CTO网站更新,希望大家多多关注.互相学习,后期,我将会退出<通哥的运维笔记>系列视频教程,希望带给大家最大的收获,帮助大家更好的学习.进步.<通哥的运维笔记>主要从linux系统管理.虚拟化.cloudstack云平台以及网络管理之CCNA.CCNP.CCIE,等等方面深入讲解.

WPF笔记整理 - Bitmap和BitmapImage

项目中有图片处理的逻辑,因此要用到Bitmap.而WPF加载的一般都是BitmapImage.这里就需要将BitmapImage转成Bitmap 1. 图片的路径要用这样的,假设图片在project下的Images目录,文件名XXImage.png. pack://application:,,,/xxx;component/Images/XXImage.png 2. 代码: Bitmap bmp = null; var image = new BitmapImage(new Uri(this.X