- 浏览: 542193 次
- 性别:
- 来自: 西安
博客专栏
-
Hive入门
浏览量:43171
文章分类
最新评论
-
freeluotao:
public void readFields(D ...
MapReduce直接连接Mysql获取数据 -
passionke:
在spark-sql中通过insert插入数据到HBase表时 ...
SparkSQL读取HBase数据 -
annmi_cai:
好好学习,天天向上!
[一起学Hive]之十七-从Hive表中进行数据抽样-Sampling -
annmi_cai:
好好学习,天天向上!
[一起学Hive]之十六-Hive的WEB页面接口-HWI -
annmi_cai:
好好学习,天天向上!
[一起学Hive]之十五-分析Hive表和分区的统计信息(Statistics)
package com.sdo.sjzx.jptj; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.KeyValue; import org.apache.hadoop.hbase.MasterNotRunningException; import org.apache.hadoop.hbase.ZooKeeperConnectionException; import org.apache.hadoop.hbase.client.Delete; import org.apache.hadoop.hbase.client.Get; import org.apache.hadoop.hbase.client.HBaseAdmin; import org.apache.hadoop.hbase.client.HTable; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.ResultScanner; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.util.Bytes; public class Test { private static Configuration conf = null; static { conf = HBaseConfiguration.create(); conf.set( "hbase.zookeeper.quorum", "zk1,zk2,zk3"); } //参数:表名,列名(可以有多个) public void createTable(String tablename, String[] cfs) throws IOException { HBaseAdmin admin = new HBaseAdmin(conf); if (admin.tableExists(tablename)) { System.out.println("table already exists!"); } else { HTableDescriptor tableDesc = new HTableDescriptor(tablename); for (int i = 0; i < cfs.length; i++) { tableDesc.addFamily(new HColumnDescriptor(cfs[i])); } admin.createTable(tableDesc); System.out.println("table create OK!"); } } //删除表,先disable,再delete public void deleteTable(String tablename) throws IOException { try { HBaseAdmin admin = new HBaseAdmin(conf); admin.disableTable(tablename); admin.deleteTable(tablename); System.out.println("delete ok"); } catch (MasterNotRunningException e) { e.printStackTrace(); } catch (ZooKeeperConnectionException e) { e.printStackTrace(); } } //insert记录, public void writeRow(String tablename,String rowKey,Map<String,Map<String,String>> m) { try { HTable table = new HTable(conf, tablename); Put put = new Put(Bytes.toBytes(rowKey));//"001" Set<String> key = m.keySet(); for(Iterator<String> it = key.iterator();it.hasNext();){ String k = it.next(); Map<String,String> tmpM = m.get(k); Set<String> keyInner = tmpM.keySet(); for(Iterator<String> itInner = keyInner.iterator();itInner.hasNext();) { String kInner = itInner.next(); String vInner = tmpM.get(kInner); put.add(Bytes.toBytes(k), Bytes.toBytes(kInner), Bytes.toBytes(vInner)); table.put(put); } } } catch (IOException e) { e.printStackTrace(); } } public void deleteRow(String tablename, String rowkey) throws IOException { HTable table = new HTable(conf, tablename); List list = new ArrayList(); Delete d1 = new Delete(rowkey.getBytes()); list.add(d1); table.delete(list); System.out.println(""); } public static void selectRow(String tablename, String rowKey) throws IOException { HTable table = new HTable(conf, tablename); Get g = new Get(rowKey.getBytes()); Result rs = table.get(g); for (KeyValue kv : rs.raw()) { System.out.print(new String(kv.getRow()) + " "); System.out.print(new String(kv.getFamily()) + ":"); System.out.print(new String(kv.getQualifier()) + " "); System.out.print(kv.getTimestamp() + " "); System.out.println(new String(kv.getValue())); } } public void scaner(String tablename) { try { HTable table = new HTable(conf, tablename); Scan s = new Scan(); ResultScanner rs = table.getScanner(s); for (Result r : rs) { KeyValue[] kv = r.raw(); for (int i = 0; i < kv.length; i++) { System.out.print(new String(kv[i].getRow()) + " "); System.out.print(new String(kv[i].getFamily()) + ":"); System.out.print(new String(kv[i].getQualifier()) + " "); System.out.print(kv[i].getTimestamp() + " "); System.out.println(new String(kv[i].getValue())); } } } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] agrs) { try { String tablename = "lxwtest"; Test t = new Test(); t.deleteTable(tablename); //创建一张列为userinfo和userdeptinfo的表 String[] s = new String[2]; s[0] = "userinfo"; s[1] = "userdeptinfo"; t.createTable(tablename,s); String userId = "003"; String userName = "wangwu"; int age = 25; String dept = "data analysis"; //向userinfo中写入name=?和age=? //向userdeptinfo中写入dept=? //这里将源数据构建合适的数据结构,比如Map<String,Map<String,String>> //来完成insert Map<String,Map<String,String>> m = new HashMap<String,Map<String,String>>(); Map<String,String> kvUserInfo = new HashMap<String,String>(); kvUserInfo.put("name", userName); kvUserInfo.put("age",age+""); m.put("userinfo", kvUserInfo); Map<String,String> kvUserDeptInfo = new HashMap<String,String>(); kvUserDeptInfo.put("deptname", dept); m.put("userdeptinfo", kvUserDeptInfo); t.writeRow(tablename,userId,m); t.scaner(tablename); } catch (Exception e) { e.printStackTrace(); } } }
scan出来的结果:
hbase(main):028:0> scan 'lxwtest' ROW COLUMN+CELL 001 column=userdeptinfo:deptname, timestamp=1340092898883, value=data platform 001 column=userinfo:age, timestamp=1340092898883, value=27 001 column=userinfo:name, timestamp=1340092898883, value=zhangsan 002 column=userdeptinfo:deptname, timestamp=1340092951198, value=data platform 002 column=userinfo:age, timestamp=1340092951198, value=25 002 column=userinfo:name, timestamp=1340092951198, value=lisi 003 column=userdeptinfo:deptname, timestamp=1340093006923, value=data analysis 003 column=userinfo:age, timestamp=1340093006923, value=25 003 column=userinfo:name, timestamp=1340093006923, value=wangwu
发表评论
-
JAVA开源中文分词工具-IKAnalyzer下载及使用
2015-07-22 08:57 3013关键字:中文分词、IKAnalyzer 最近有个需 ... -
Java实现的简单双向Map,支持重复Value
2015-07-14 14:58 4132关键字:Java双向Map、DualHashBidiMap ... -
MapReduce和Hive支持递归子目录作为输入
2015-07-08 14:41 3092关键字:MapReduce、Hive ... -
异构数据源海量数据交换工具-Taobao DataX 下载和使用
2015-05-29 11:59 2376DataX介绍 DataX是一个在 ... -
Java使用Pipeline对Redis批量读写(hmset&hgetall)
2015-05-26 08:46 10306一般情况下,Redis Client端发出一 ... -
Java和Shell版 十进制和十六进制(Hex)互转
2015-05-22 17:31 2360文章来自: http://lxw1234.com/?p ... -
Hadoop生态系统官网、下载地址、文档
2015-05-05 17:22 1817Apache版本: Hadoop官网:http:// ... -
JAVA获取天气
2014-12-09 11:59 1666package javaapplication1; ... -
大数据平台任务调度监控系统
2014-10-24 16:35 10516记录一下正在开发 ... -
JAVA通用的字符串转日期
2014-10-22 14:54 1422因为需求,只写了年月日时的自动转换。 public ... -
Neo4j使用例子
2014-09-11 15:49 2920准备开发一个任务调度系统,其中使用Neo4j来保存和查询任务 ... -
HttpClient PostMethod 传递json
2014-04-02 15:05 2745记录下,备查。 /** * 获取post请求响 ... -
java Thrift example
2014-04-02 09:22 1453记录备用。。 test.thrift namesp ... -
Hive over HBase和Hive over HDFS性能比较分析
2014-01-22 16:16 7720环境配置: hadoop-2.0.0-cdh4.3 ... -
MapReduce直接连接Mysql获取数据
2013-05-31 17:29 6248Mysql中数据: mysql> select ... -
MapReduce读取HDFS,将结果写入MongoDB
2013-05-29 11:07 5075参考:http://docs.mongodb.org/eco ... -
Kerboers认证由于和Master时间不同步导致的错误
2013-04-03 15:56 3924刚发现Hbase集群一台RegionServer挂掉了,重 ... -
hadoop mapreduce程序jar包版本冲突解决方法
2013-01-08 16:34 3430写MR程序时往往会使用到第三方包, 如果这些包在集群中不存在, ... -
hadoop mapreduce程序jar包版本冲突解决方法
2013-01-08 16:08 0<!-- [if gte mso 9]><x ... -
windows上编译eclipse-plugin for hadoop-0.20.2-cdh3u3
2012-12-17 17:24 2549hadoop-0.20.2-cdh3u3目录为:E:\hado ...
相关推荐
HBase基本操作 增删改查 java代码 要使用须导入对应的jar包
Hbase JAVA编程开发实验报告以及代码,1 按照“Hbase应用开发实验1.pdf”中给出的说明,完成相关相关实验及JAVA程序的编写、调试和运行,提交JAVA源程序(AccessObject.java, HBaseTester.java, User.java)及运行...
Hbase 基本操作类 static { //此处可以使用hbase的配置文件,也可以通过代码来实例化hbase连接 /* * Configuration HBASE_CONFIG = new Configuration(); * HBASE_CONFIG.set("hbase.zookeeper.quorum", ...
上机实操,熟悉指令操作Hbase和java代码操作Hbase 二、实验环境 Windows 10 VMware Workstation Pro虚拟机 Hadoop环境 Jdk1.8 三、实验内容 1:指令操作Hbase (1):start-all.sh,启动所有进程 (2):start-hbase.sh...
HBase基本操作(实验)2018年7月31日-(肖光鼎)
该示例代码会将每日的股价数据从Google财经导入到HBase中,并对它运行简单的查询。 该示例是使用HBase 1.0.1.1或兼容版本,Java 8 JDK更新60和Fedora 22 Linux(4.1.6-200.fc22.x86_64)开发的。安装HBase 可以从...
并对HBase进行实战操作,讲解基本的shell命令及java api。重点讲解如何通过过滤器筛选数据... 3-1 HBase写流程 3-2 HBase读流程 3-3 HBase模块协作 3-4 HBase实战:Shell命令实战 3-5 HBase实 战:Java Api实现HBase...
本文来自于36大数据,这篇文章将会对这些细节进行基本的说明,一方面可以让大家对HBase中Region自动切分有更加深入的理解,另一方面如果想实现类似的功能也可以参考HBase的实现方案。Region自动切分是HBase能够拥有...
hbase-operator-tools 操作员工具的主机,包括: ,hbase-2.x修复工具,是hbase-1的hbck (AKA hbck1 )的后继者。 ,一种用于生成有关Table列数和行大小的基本报告的工具; 在没有可用的分布式执行时使用。
HBase Manager提供了一个... 使用HBM,我们可以执行所有基本操作,例如表创建/更改/删除/截断和数据修改,例如插入/删除/更新。 可以使用过滤器和自定义扫描范围完全自定义扫描操作。 *当前版本支持Java 8的HBase 1.2
基本操作:针对每种数据结构,定义了一系列基本的操作,包括但不限于插入、删除、查找、更新、遍历等,并分析这些操作的时间复杂度和空间复杂度。 算法: 算法设计:研究如何将解决问题的步骤形式化为一系列指令,...
A.2实验二:熟悉常用的HDFS操作 ...(3)熟悉HDFS操作常用的Java API。 A.2.2 实验平台 (1)操作系统:Linux(建议Ubuntu 16.04)。(2) Hadoop版本:2.7.1。 (3)JDK版本:1.7或以上版本。(4) Java IDE:Eclipse。
Hadoop基本操作和实例,具体如下。 注: 每个示例的文件夹中都有代码对应的文档说明。 custom_datatype 此文件夹下主要包含2个java文件,TextPair.java和TextPair2.java,都是自定义的数据类型。 TextPair.java重写...
课程安排: 01) Linux基础操作;02) 搭建伪分布实验环境;...08) 介绍HBase体系结构及基本操作;09) 介绍pig操作;10) 介绍Hive体系结构及基本操作;11) 介绍Sqoop操作;12) Flume操作;13) 论坛日志分析项目。
6、熟悉使用Eclipse或IntelliJ Idea编写Java程序操作HBase数据库 要求 1、对文本文件形式的原始数据集进行预处理 2、把文本文件的数据集导入到数据仓库Hive中 3、对数据仓库Hive中的数据进行查询分析 4、使用Sqoop...
操作系统 linux 代码控制 自动化代码检查 sonar 代码规范 阿里巴巴Java开发规范手册 UMPAY——编码规范 日志规范 异常规范 网络 协议 TCP/IP HTTP hession file HTTPS 负载均衡 容器 JBOSS ...
06.Kafka基本操作和最优设置 07.Kafka Java API 简单开发测试 08.storm-kafka 详解和实战案例 09.S图表框架HighCharts介绍 10.HBase快速入门 11.基于HBase的Dao基类和实现类开发一 12.基于HBase的Dao基类和实现类...
- 操作系统: CentOS 6 - Java环境: OpenJDK 8 - Hadoop: 2.7.2 - Spark: 1.6.2/2.1.0 - Hive: 1.1.1/2.1.1 - HBase: 1.2.2 - Zookeeper: 3.4.8 - 基于docker-compose管理镜像和容器,并进行集群的编排 - 所有软件的...
BigDataHadoop,Hbase,Scala,Spark等hadoop:基于贝叶斯分类器的情感分析hbase:hbase的JavaAPI的基本操作spark:scala基础和spark基础
quasar-hbase-client:0.2.0 ...支持基本查询操作(GET,multi-GET和SCAN)。 待办事项清单 添加INSERT和UPDATE操作。 程式码范例 从表中按ID获取: final String QUORUM_LIST = " localhost:2181 " ;