impala

Impala 架构探索-Impala 系统组成与使用调优

你说的曾经没有我的故事 提交于 2019-11-29 12:43:34
要好好使用 Impala 就得好好梳理一下他得结构以及他存在得一些问题或者需要注意得地方。本系列博客主要想记录一下对 Impala 架构梳理以及使用上的 workaround。 Impala 简介 首先我们来了解一下在 Impala Guide 中 Impala 对自己的定位 Impala is an addition to tools available for querying big data. Impala does not replace the batch processing frameworks built on MapReduce such as Hive. Hive and other frameworks built on MapReduce are best suited for long running batch jobs, such as those involving batch processing of Extract, Transform, and Load (ETL) type jobs. Impala 认为自己是大数据查询工具的补充,对于长时间的 batch work 还是推荐使用基于 mapreduce 的方式来处理超大量数据。因为那更稳定可靠。 Impala 目前已经从 Apache 孵化项目中毕业,由 Cloudera 公司捐赠后

0020-使用JDBC向Kudu表插入中文字符-双引号的秘密

江枫思渺然 提交于 2019-11-29 11:11:01
1.问题描述 使用Impala JDBC向Kudu表中插入中文字符,插入的中文字符串乱码,中文字符串被截断。 2.问题复现 测试环境: CDH5.12.0 Kudu1.4.0 ImpalaJDBC41_2.5.35 1.使用ImpalaJDBC代码进行测试,测试代码 static String JDBC_DRIVER = "com.cloudera.impala.jdbc41.Driver"; static String CONNECTION_URL = "jdbc:impala://ip-172-31-10-118:21050/default"; public static void main(String[] args) { Connection con = null; ResultSet rs = null; PreparedStatement ps = null; try { Class.forName(JDBC_DRIVER); con = DriverManager.getConnection(CONNECTION_URL); String insertsql = "insertinto my_first_table values(46, '测试中文字符')"; ps = con.prepareStatement(insertsql); ps.execute(); ps

MapReduce和Spark的区别

孤人 提交于 2019-11-29 09:07:52
性能: S park是在内存中处理数据的,而MapReduce是通过map和reduce操作在磁盘中处理数据,所以正常情况下Spark的处理速度会比mapreduce快。但是当数据量大,不能一次性加载到内存的时候,Spark性能就会降低。 读取同样的数据进行迭代计算的话使用Spark,一次性读取或者ETL用mapreduce更好。 小结:当数据大小适于读入内存,尤其是在专用集群上时,Spark 表现更好;Hadoop MapReduce 适用于那些数据不能全部读入内存的情况,同时它还可以与其它服务同时运行。 使用难度 Spark 有着灵活方便的Java,Scala和 Python 的API,同时对已经熟悉 SQL 的技术员工来说, Spark 还适用 Spark SQL(也就是之前被人熟知的 Shark)。多亏了 Spark 提供的简单易用的构造模块,我们可以很容易的编写自定义函数。它甚至还囊括了可以即时反馈的交互式命令模式。 Hadoop MapReduce 是用 Java 编写的,但由于其难于编程而备受诟病。尽管需要一定时间去学习语法,Pig 还是在一定程度上简化了这个过程, Hive也为平台提供了 SQL 的兼容。一些 Hadoop 工具也可以无需编程直接运行 MapReduce 任务。Xplenty 就是一个基于 Hadoop 的数据整合服务,而且也不需要进行任何编程和部署

数据智能之多维度分析系统的选型方法

懵懂的女人 提交于 2019-11-29 07:30:57
##引言 前文回顾:《数据智能时代来临:本质及技术体系要求》作为本系列的第一篇文章,概括性地阐述了对于数据智能的理解以及推出了对应的核心技术体系要求: 数据智能就是以数据作为生产资料,通过结合大规模数据处理、数据挖掘、机器学习、人机交互、可视化等多种技术,从大量的数据中提炼、发掘、获取知识,为人们在基于数据制定决策时提供有效的智能支持,减少或者消除不确定性。 从对数据智能的定义来看,数据智能的技术体系至少需要包含几个方面,见下图所示: ▲数据智能技术体系构成 其中数据资产治理、数据质量保证、数据智能下的安全计算体系会在后续的系列文章中重点阐述。 然而最近在实际工作中,发现大家对于如何处理多维数据进行分析以解决实际业务问题方面存在一些实实在在的困扰,特别是对于选择什么样的底层系统无所适从,毕竟有资源给大家进行试验的公司并不是太多。 故此我和团队一起研究,同时也借鉴了外部的一些资料,针对这个议题撰写了本系列的第二篇文章,主要围绕“多维度分析系统的选型方法”的主题,供大家参考,希望能缩短大家的决策时间。 ##正文内容 ###分析系统的考量要素 CAP 理论大家都已经比较熟悉, C.A.P 之间无法兼得,只能有所取舍。在分析系统中同样需要在三个要素间进行取舍和平衡,三要素分别是数据量、灵活性以及性能。 ▲分析系统考量三要素 有的系统在数据量达到一定数量,譬如超过P级别后,在资源不变情况下

Impala can't access all hive table

萝らか妹 提交于 2019-11-29 05:59:36
问题 I try to query hbase data through hive (I'm using cloudera). I did a fiew hive external table pointing to hbase but the thing is Cloudera's Impala doesn't have an access to all those tables. All hive external tables appear in the metastore manager but when I do a simple "show tables" in Impala, I see that 3 tables are missing. Would it be a privileges problem ? I see that in the metastore manager that the 3 tables missing are readable by everybody so... 回答1: Run the query 'invalidate metadata

Impala timestamps don't match Hive - a timezone issue?

老子叫甜甜 提交于 2019-11-29 04:10:50
问题 I have some eventlog data in HDFS that, in its raw format, looks like this: 2015-11-05 19:36:25.764 INFO [...etc...] An external table points to this HDFS location: CREATE EXTERNAL TABLE `log_stage`( `event_time` timestamp, [...]) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' For performance, we'd like to query this in Impala. The

初探Apache Impala

醉酒当歌 提交于 2019-11-29 03:08:49
Impala是什么? Impala提高了Apache Hadoop上SQL查询性能的标准,同时保留了熟悉的用户体验。 使用Impala,您可以实时查询存储在HDFS或Apache HBase中的数据-包括SELECT,JOIN和聚合函数。此外,Impala使用与Apache Hive相同的元数据,SQL语法(Hive SQL),ODBC驱动程序和用户界面(Hue Beeswax),为面向批处理或实时查询提供了一个熟悉且统一的平台。(因此,Hive用户可以以很少的设置开销使用Impala。) 它是一个用C ++和Java编写的开源软件。 与其他Hadoop的SQL引擎相比,它提供了高性能和低延迟。 换句话说, Impala是性能最高的SQL引擎(提供类似RDBMS的体验),它提供了访问存储在Hadoop分布式文件系统中的数据的最快方法。 架构: 为了避免延迟,Impala避开了MapReduce通过与商业并行RDBMS中非常相似的专用分布式查询引擎直接访问数据。 其结果是,性能比Hive快了几个数量级,具体取决于查询和配置的类型。 优点 Impala不需要把中间结果写入磁盘,省掉了大量的I/O开销。 省掉了MapReduce作业启动的开销。MapReduce启动task的速度很慢(默认每个心跳间隔是3秒钟),Impala直接通过相应的服务进程来进行作业调度,速度快了很多。

Hadoop上时实类SQL查询系统对比

我们两清 提交于 2019-11-28 22:52:21
转载请注明作者与出处 作者:martin_li 网址:http://my.oschina.net/Senger/blog/180140 以前只用过Hive与impala两个类SQL查询系统,最近又将Hortonworks开源的Stinger与Apache的Drill做了些调研。累死累活搞了一天的资料,头都大了。为了纪念我那逝去的脑细胞,特将这些信息整理出来。 由于调查时间比较短(一天的时间都头晕眼花了,再长点估计我就要过劳死了),所写之处难免会有差错, 欢迎大家指正 总体来说虽然impala、stinger、drill三个系统都是类SQL实时查询系统,但是它们的侧重点完全不同。而且它们也不是为了替换Hive而生,hive在做数据仓库时还是很有价值的。 目前来说只有impala比较成熟( 人 家标称要使用CDH版本hadoop,如果要使用apache的,要做好测试的心里准备 )。 其它两个系统还都处理孵化状态,但是前景非常不错。 Impala 这个系统是Cloudera开源的,时间大约是在12年下半年。虽然到现在才一年的时间但是已经有很多人在使用。社区也比较活跃,大家可以在github上面看到项目的开发人员与代码提交情况(地址: https://github.com/cloudera/impala )。个人感觉开发者虽然有其它几个公司,但是还是以cloudera为主

sqoop导入数据到Base并同步hive与impala

邮差的信 提交于 2019-11-28 20:52:42
使用Sqoop从MySQL导入数据到Hive和HBase 及近期感悟 基础环境 Sqool和Hive、HBase简介 Sqoop Hive HBase 测试Sqoop 使用Sqoop从MySQL导入数据到Hive 使用复杂SQL 调整Hive数据类型 不断更新 使用Sqoop从MySQL导入数据到HBase 使用复杂SQL 不断更新 Hive使用HBase数据 关于Sqoop2 综上所述 其他感受 基础环境 sqoop:sqoop-1.4.5+cdh5.3.6+78,hive:hive-0.13.1+cdh5.3.6+397,hbase:hbase-0.98.6+cdh5.3.6+115 Sqool和Hive、HBase简介 Sqoop Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的开源工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。 Hive 不想用程序语言开发MapReduce的朋友比如DB们,熟悉SQL的朋友可以使用Hive开离线的进行数据处理与分析工作。 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。

第二章 impala基础使用

拥有回忆 提交于 2019-11-28 16:39:39
第二章 impala基本使用 1、impala的使用 1.1、impala-shell语法 1.1.1、impala-shell的外部命令参数语法 不需要进入到impala-shell交互命令行当中即可执行的命令参数 impala-shell后面执行的时候可以带很多参数: -h 查看帮助文档 impala-shell -h -r 刷新整个元数据,数据量大的时候,比较消耗服务器性能 impala-shell -r -B 去格式化,查询大量数据可以提高性能 --print_header 去格式化显示列名 --output_delimiter 指定分隔符 -v 查看对应版本 impala-shell -v -V -f 执行查询文件 --query_file 指定查询文件 cd /export/servers vim impala-shell.sql use weblog; select * from ods_click_pageviews limit 10; #通过-f 参数来执行执行的查询文件 impala-shell -f impala-shell.sql -i 连接到impalad ​ --impalad 指定impalad去执行任务 -o 保存执行结果到文件当中去 ​ --output_file 指定输出文件名 impala-shell -f impala-shell.sql