
hadoop+hive+hbase
文章平均质量分 67
jiedushi
大数据10年左右工作经验,喜欢工作中遇到的问题与解决整理到博客
展开
-
python安装pyhs2遇到的问题
在使用python开发连接hiveserver2的过程中,需要安装pyhs2库,在使用pip安装pyhs2的过程中遇到了几个错误1.gcc: error trying to exec 'cc1plus': execvp: 没有那个文件或目录解决方法 在centos系统执行命令 yum install -ygcc-c++.即可解决2.sasl/saslwrapper.h:22:23: 致命错误:sasl/sasl.h:没有那个文件或目录解决方法yum -y in...原创 2021-04-25 08:44:10 · 820 阅读 · 0 评论 -
hadoop集群增加删除节点
hadoop要发到每个节点的配置文件,只有core-site.xml mapred-site.xml hdfs-site.xml添加节点1.修改host和普通的datanode一样。添加namenode的ip2.修改namenode的配置文件conf/slaves添加新增节点的ip或host3.在新节点的机器上,启动服务[root@sla转载 2012-07-16 09:04:40 · 2170 阅读 · 1 评论 -
开源BI工具Pentaho 连接hive进行大数据分析
pentaho是世界上最流行的开源商务智能软件,以工作流为核心的、强调面向解决方案而非工具组件的BI套件,整合了多个开源项目,目标是和商业BI相抗衡。它是一个基于java平台的商业智能(Business Intelligence,BI)套件,之所以说是套件是因为它包括一个web server平台和几个工具软件:报表,分析,图表,数据集成,数据挖掘等,可以说包括了商务智能的方方面面。pentah原创 2012-07-26 16:51:33 · 19034 阅读 · 1 评论 -
Pentaho 连接mysql错误问题的解决
在使用kettle-spoon client连接mysql数据库建立连接的时候,遇到错误Caused by: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver解决方法从地址 http://dev.mysql.com/downloads/connector/j/ 中下载(mysql-connector-java-5.原创 2012-07-31 13:53:15 · 3783 阅读 · 0 评论 -
hadoop Capacity Scheduler计算能力调度器配置
计算能力调度器介绍Capacity Scheduler支持以下特性:(1) 计算能力保证。支持多个队列,某个作业可被提交到某一个队列中。每个队列会配置一定比例的计算资源,且所有提交到队列中的作业共享该队列中的资源。(2) 灵活性。空闲资源会被分配给那些未达到资源使用上限的队列,当某个未达到资源的队列需要资源时,一旦出现空闲资源资源,便会分配给他们。(3) 支持优原创 2012-08-29 15:25:18 · 6588 阅读 · 0 评论 -
hadoop集群监控工具ambari安装
Apache Ambari是对Hadoop进行监控、管理和生命周期管理的基于网页的开源项目。它也是一个为Hortonworks数据平台选择管理组建的项目。Ambari支持管理的服务有:Apache HBaseApache HCatalogApache Hadoop HDFSApache HiveApache Hadoop MapReduceApache OozieApa原创 2012-08-22 15:19:09 · 16489 阅读 · 4 评论 -
python连接scribe收集apache日志
#!/usr/bin/env pythonimport optparseimport osimport sysimport timefrom thrift.transport import TTransportfrom thrift.transport import TSocketfrom thrift.transport.TTransport import TTransportE转载 2012-09-11 17:33:09 · 3227 阅读 · 1 评论 -
hive中的Lateral View
通过Lateral view可以方便的将UDTF得到的行转列的结果集合在一起提供服务。因为直接在SELECT使用UDTF会存在限制,即仅仅能包含单个字段,如下:hive> select my_test(“abcef:aa”) as qq,my_test(“abcef:aa”) as ww from sunwg01;FAILED: Error in semantic analysis转载 2012-07-02 13:34:33 · 15753 阅读 · 1 评论 -
hadoop 添加删除datanode及tasktracker
hadoop 添加删除datanode及tasktracker 首先: 建议datanode和tasktracker分开写独立的exclude文件,因为一个节点即可以同时是datanode和tasktracker,也可以单独是datanode或tasktracker。 1、删除datanode 修改namenode上的hdfs-site.xml Ja转载 2012-06-26 10:48:32 · 1240 阅读 · 0 评论 -
php通过thrift操作hbase
环境配置 操作系统 centos 5.8 hadoop版本cloudera cdh3u3 hbase版本hbase-0.90.4-cdh3u3 php版本5.21. 下载并编译thrift # wget http://ftp.tc.edu.tw/pub/Apache/thrift/0.8.0/thrift-0.8.0.tar.gz 安装所需的依赖包原创 2012-06-19 10:29:38 · 4450 阅读 · 0 评论 -
Faster Datanodes with less wait io using df instead of du
I have noticed often that the check Hadoop uses to calculate usage for the data nodes causes a fair amount of wait io on them driving up load.Every cycle we can get from every spindle we want!转载 2012-05-11 13:27:50 · 862 阅读 · 0 评论 -
hive使用mysql保存metastore
Hive 将元数据存储在 RDBMS 中,有三种模式可以连接到数据库: 1)ingle User Mode: 此模式连接到一个 In-memory 的数据库 Derby,一般用于 Unit Test。 2)Multi User Mode:通过网络连接到一个数据库中,是最经常使用到的模式。 3)Remote Server Mode:用于非 Java 客户端访问元数据库,在服务器端启动一个原创 2011-07-01 17:13:00 · 7076 阅读 · 1 评论 -
hive 中的多列进行group by查询方法
在工作中用hive进行数据统计的时候,遇到一个用group by 进行查询的问题,需要统计的字段为gid,sid,user,roleid,time,status,map_id,num其中time字段为时间戳形式的,统计要求为将各个字段按照每个小时的num总数进行统计开始的时候写的hive SQL为select gid,sid,user,roleid,time,status,ma原创 2012-05-18 10:31:56 · 21010 阅读 · 0 评论 -
hadoop自动清除日志文件的配置方法
hadoop集群跑了很多的任务后在hadoop.log.dir目录下会产生大量的日志文件。可以通过配置core-site.xml文件让集群自动清除日志文件: hadoop.logfile.size 10000000 The max size of each log file hadoop.log转载 2012-05-18 17:07:20 · 6712 阅读 · 4 评论 -
Sqoop export and import commands
Sqoop Import Examples:Sqoop Import :- Import data from a relational database management system (RDBMS) such as MySQL or Oracle into the Hadoop Distributed File System (HDFS) and its subprojects转载 2012-03-09 12:41:29 · 5376 阅读 · 0 评论 -
hive 中的排序优化
在hive中进行字段排序统计过程中,使用ORDER BY是全局排序,hive只能通过一个reduce进行排序.效率很低,采用hive提供的distribute by +sort by或者CLUSTER BY, 这样可以充分利用hadoop资源, 在多个reduce中局部按需要排序的字段进行排序。cluster by等同于distributed by 与sort by 组合。原创 2012-06-11 10:53:40 · 3286 阅读 · 0 评论 -
Hive使用LEFT OUTER JOIN 实现not in 子句
当前HIVE 不支持 not in 中包含查询子句的语法,形如如下的HQ语句是不被支持的: 查询在key字段在a表中,但不在b表中的数据select a.key from a where key not in(select key from b) 该语句在hive中不支持可以通过left outer join进行查询,(假设B表中包含另外的一个字段 key1 se转载 2012-05-24 14:08:12 · 9667 阅读 · 0 评论 -
Hadoop开发基础知识记录
(1)当你把一个文件加入distribution cache的时候,要注意:如果你是以addCacheFile()的方式添加的,而你在mapper中取出来的时候,却是以archive的方式取出来——getLocalCacheArchives(),那么,你将得不到cache文件的路径,因为放进去和取出来的方式要一致。(2)在mapper中获取当前正在处理的HDFS文件名/HDFS目录名有时候转载 2012-06-19 10:44:58 · 4771 阅读 · 0 评论 -
Hadoop命令大全
1、列出所有Hadoop Shell支持的命令 $ bin/hadoop fs -help2、显示关于某个命令的详细信息 $ bin/hadoop fs -help command-name3、用户可使用以下命令在指定路径下查看历史日志汇总 $ bin/hadoop job -history output-dir这条命令会显示作业的细节信息,失败和终止的任务细节。转载 2012-05-29 10:00:03 · 1028 阅读 · 0 评论 -
hive中的local mr
在hive中运行的sql有很多是比较小的sql,数据量小,计算量小.这些比较小的sql如果也采用分布式的方式来执行,那么是得不偿失的.因为sql真正执行的时间可能只有10秒,但是分布式任务的生成得其他过程的执行可能要1分钟.这样的小任务更适合采用lcoal mr的方式来执行.就是在本地来执行,通过把输入数据拉回客户端来执行.拿select 1 from dual来看下,两种执行方式的效率差转载 2012-10-22 07:13:23 · 3547 阅读 · 0 评论 -
hive并行执行job
用过oracle rac的应该都知道parallel的用途。并行执行的确可以大的加快任务的执行速率,但不会减少其占用的资源。在hive中也有并行执行的选项。 set hive.exec.parallel=true; //打开任务并行执行 set hive.exec.parallel.thread.number=16; //同一个sql允转载 2012-12-28 17:21:01 · 5947 阅读 · 1 评论 -
hbase web管理工具phphbaseadmin
HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。由于hbase自带的操作工具只有hbase shell,创建表、批量删除表、查看记录等操作很不方便,因此开发了phphbaseadmin工具,使用hbase thrift接口、php CI框架、bootstrap前端框架开发。目前实现的功能主要有浏览表、创建表、批量删除表、查看表meta原创 2013-06-05 09:32:49 · 7813 阅读 · 3 评论 -
ZooKeeper四字命令
ZooKeeper 支持某些特定的四字命令字母与其的交互。它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令。 ZooKeeper 常用四字命令见下表 1 所示:表 1 : ZooKeeper 四字命令ZooKeeper 四字命令功能描述转载 2012-05-21 12:32:22 · 2429 阅读 · 0 评论 -
jruby操作hbase实例
熟悉hbase的用户们都会看到在$HBASE_HOME/bin 目录中有几个扩展名为rb的文件,$HBASE_HOME/lib/ruby目录中的文件都是.rb文件,这些文件都是使用jruby语言对hbase进行操作的程序。那么什么是jrbuy呢?JRuby是一个纯Java实现的Ruby解释器。通过JRuby,你可以在JVM上直接运行Ruby程序,调用Java的类库。很多Java编写的R原创 2013-07-08 14:07:30 · 3227 阅读 · 0 评论 -
配置hadoop 使用fair scheduler调度器
hadoop版本为cloudera hadoop cdh3u3配置步骤为1. 将$HADOOP_HOME/contrib/fairscheduler/hadoop-fairscheduler-0.20.2-cdh3u3.jar拷贝到$HADOOP_HOME/lib文件夹中2. 修改$HADOOP_HOME/conf/mapred-site.xml配置文件 mapr原创 2012-06-13 14:33:19 · 8406 阅读 · 0 评论 -
使用hive读取hbase数据
Mapr框架安装完后,安装与配置hbase、hive。其中mapr框架的安装路径为/opt/maprHbase的安装路径为/opt/mapr/hbase/hbase-0.90.4Hive的安装路径为/opt/mapr/hive/hive-0.7.1整合hive与hbase的过程如下:1. 将文件 /opt/mapr/hbase/hbase-0.90.4/hbase-0.90.4原创 2012-03-06 16:15:17 · 23290 阅读 · 4 评论 -
HIVE中MAPJOIN可以使用的场景分析
最近开发中遇到几种应用,刚好使用MAPJOIN来解决实际的问题。应用共同点如下:1: 有一个极小的表2: 需要做不等值join操作(a.x 这种操作如果直接使用join的话语法不支持不等于操作,hive语法解析会直接抛出错误如果把不等于写到where里会造成笛卡尔积,数据异常增大,速度会很慢。甚至会任务无法跑成功~根据mapjoin的计算原理,MAP转载 2012-06-14 14:01:38 · 12914 阅读 · 1 评论 -
fluentd结合kibana、elasticsearch实时搜索分析hadoop集群日志
Fluentd是一个开源收集事件和日志系统,它目前提供150+扩展插件让你存储大数据用于日志搜索,数据分析和存储。官方地址http://fluentd.org/ 插件地址http://fluentd.org/plugin/Kibana 是一个为 ElasticSearch 提供日志分析的 Web ui工具,可使用它对日志进行高效的搜索、可视化、分析等各种操作。官方地址http://www原创 2013-09-25 14:48:09 · 33040 阅读 · 2 评论 -
Linux(Centos)配置OpenSSH无密码登陆
最近在搭建Hadoop环境需要设置无密码登陆,所谓无密码登陆其实是指通过证书认证的方式登陆,使用一种被称为"公私钥"认证的方式来进行ssh登录。在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的加密算法.该工具做linux系统的远程管理转载 2011-08-09 16:09:58 · 8624 阅读 · 0 评论 -
创建cloudera hadoop本地源服务器
在部署cloudera hadoop集群中,使用网络安装hadoop网速不太给力,需要创建一个本地源服务器,加速安装过程或者提高增加节点安装部署效率。创建步骤1. 如果是安装部署cloudera 4版本,需要先安装cloudera 源RPM文件 for redhat/ centos 5 64位服务器rpm -Uvh http://archive.cloudera.com/cdh4原创 2013-03-03 14:27:17 · 4461 阅读 · 0 评论 -
hive原生和复合类型的数据加载和使用
原生类型原生类型包括TINYINT,SMALLINT,INT,BIGINT,BOOLEAN,FLOAT,DOUBLE,STRING,BINARY (Hive 0.8.0以上才可用),TIMESTAMP (Hive 0.8.0以上才可用),这些数据加载很容易,只要设置好列分隔符,按照列分隔符输出到文件就可以了。假设有这么一张用户登陆表CREATE TABLE login转载 2013-04-23 11:10:41 · 1684 阅读 · 0 评论 -
hive优化之------控制hive任务中的map数和reduce数
一、 控制hive任务中的map数: 1. 通常情况下,作业会通过input的目录产生一个或者多个map任务。 主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M, 可在hive中通过set dfs.block.size;命令查看到,该参数不能自定义修改);2. 举例: a) 假设input目录下有转载 2012-12-28 16:49:19 · 1638 阅读 · 0 评论 -
hadoop hive sql语法解释
DDL Operations创建内部表hive> CREATE TABLE pokes (foo INT, bar STRING); 创建内部表并创建分区dshive> CREATE TABLE invites (foo INT, bar STRING) PARTITIONED BY (ds STRING); 创建外部表 (指定hdfs目录路径)hive>create ex转载 2011-08-04 16:10:00 · 7168 阅读 · 0 评论 -
hive中添加自定义udf udaf udtf等函数的jar文件的三种方法
在开发了hive的udf udaf udtf函数的jar文件后,需要将jar文件放入hive的环境中才可以使用。可以通过以下三种方法加入:1. 使用add jar path/test.jar;方法加入该方法的缺点是每次启动Hive的时候都要从新加入,退出hive就会失效。2. 通过设置hive的配置文件hive-site.xml 加入在配置文件中增加配置原创 2013-03-03 22:29:59 · 3763 阅读 · 0 评论 -
利用python将hive查询结果保存到mysql
python脚本连接hive获取返回值代码#!/usr/bin/env pythonimport sysfrom hive_service import ThriftHivefrom hive_service.ttypes import HiveServerExceptionfrom thrift import Thriftfrom thrift.transport import原创 2011-06-30 22:45:00 · 7450 阅读 · 1 评论 -
利用udf函数将hive统计结果直接插入到mysql
大部分利用hive做数据分析的步骤是先用hive将统计结果导出到本地文件或者Hive的其他表中,再将本地文件导入到mysql或者利用sqoop将Hive表导入到mysql中。今天同事给推荐了一个利用udf函数直接将统计结果导入mysql的方法。步骤为hive>add jar /usr/lib/hive/lib/hive-contrib-0.9.0-cdh4.1.2.jar;Adde原创 2013-02-25 13:05:24 · 5746 阅读 · 0 评论 -
hive 0.7以上新版本增加的更有效率的两个函数
hive 0.7版本以后新增了两个函数,比原来的函数更能提高运行效率。json_tuple 使用方法与介绍 json_tuple(jsonStr, p1, p2, ..., pn) - like get_json_object, but it takes multiple names and return a tuple. All the input parameters and原创 2013-02-27 16:00:36 · 4657 阅读 · 0 评论 -
hadoop本地库与系统版本不一致引起的错误解决方法
部署hadoop的集群环境为 操作系统 centos 5.8 hadoop版本为cloudera hadoop-0.20.2-cdh3u3集群中设置支持gzip lzo压缩后,在对压缩文件进行读取或者对输入文件压缩的时候要使用到hadoop的本地库,本地库的默认位置在$HADOOP_HOME/lib/native/Linux-amd64-64 (64位操作系统)原创 2012-04-25 09:26:52 · 33964 阅读 · 6 评论 -
HBase存储
在HBase中创建的一张表可以分布在多个Hregion,也就说一张表可以被拆分成多块,每一块称我们呼为一个Hregion。每个Hregion会保 存一个表里面某段连续的数据,用户创建的那个大表中的每个Hregion块是由Hregion服务器提供维护,访问Hregion块是要通过 Hregion服务器,而一个Hregion块对应一个Hregion服务器,一张完整的表可以保存在多个Hregion 上。转载 2013-04-12 10:30:03 · 1844 阅读 · 0 评论 -
shell语句操作hbase方法
可以利用shell 脚本执行hbase shell中的一些操作#!/bin/shexec $HBASE_HOME/bin/hbase shell <<EOFcreate 'test', {NAME => 't', VERSIONS => 1}EOF原创 2012-12-24 14:23:46 · 3838 阅读 · 0 评论