- 博客(36)
- 资源 (22)
- 收藏
- 关注
原创 Mysql字符集以及校对规则
字符集 字符集是一套字符与字符编码的集合。 字符用于显示的抽象符号。 编码:计算机都是二进制存储,因此需要将显示符号转换成二进制数才能存储,每个字符所转换成的二进制数,就是字符编码。 常见的字符集编码: Ascii字符集,GB2312字符集,gbk字符集,latin1字符集,unicode字符集等。show character set;可以获得MySQL支持的所有字符集。 MySQ
2015-07-31 23:13:07 1304
原创 SVN安装使用及eclipse整合SVN
安装前软件准备svn服务器Setup-Subversion-1.8.13.msisvn客户端TortoiseSVN-1.8.11.26392-win32-svn-1.8.13.msisvn插件site-1.8.zip首先安装svn服务器与客户端。 安装完成后,验证。 启动svn服务器svnserve -d -r G:\work\svn\root 对于window用户,需要把svn添加
2015-07-31 12:46:50 2952
原创 名企编程笔试题
写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。package alibaba.a0727;public class Demo01 { int maxValue(BinNode root){ if(root == null) return 0;//其实应该返回最小负整数,这里假设0为
2015-07-28 20:37:14 1262
原创 递归和迭代两种方式实现归并排序(Java版)
递归版package MergeSort;import Utils.SortUtils;/** * 归并排序递归版 * @author liguodong */public class Demo02 { public static void mergeSort(int[] a){ mSort(a, a, 0, a.length-1); } /**
2015-07-26 21:43:32 5598
原创 希尔排序与堆排序(Java版)
希尔排序 package ShellSort;import Utils.SortUtils;public class Demo { public static void shellSort(int[] a){ int temp,j; int increment = a.length; do{ increment = incr
2015-07-26 21:13:43 1644
原创 冒泡,简单选择,直接插入排序(Java版)
冒泡,简单选择,直接插入这三种排序都是简单排序。工具类package Utils;import java.util.Arrays;public class SortUtils { public static void swap(int[] a,int i,int j){ int temp = a[i]; a[i] = a[j]; a[j] =
2015-07-26 20:51:00 1055
原创 Hive优化策略
hive优化目标在有限的资源下,执行效率高。常见问题 数据倾斜、Map数设置、Reduce数设置等hive执行 查看执行计划explain [extended] hql样例explain select no,count(*) from testudf group by no;explain extended select no,count(*) from testudf group by n
2015-07-22 09:47:38 3753
原创 Hive自定义函数(UDF、UDAF)
当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数。UDF用户自定义函数(user defined function)–针对单条记录。 创建函数流程 1、自定义一个Java类 2、继承UDF类 3、重写evaluate方法 4、打成jar包 6、在hive执行add jar方法 7、在hive执行创建模板函数 8、hql中使用Demo01: 自定义
2015-07-21 23:12:40 22983
原创 Hive常见内置函数及其使用
函数分类HIVE CLI命令显示当前会话有多少函数可用 SHOW FUNCTIONS;显示函数的描述信息 DESC FUNCTION concat;显示函数的扩展描述信息 DESC FUNCTION EXTENDED concat;简单函数函数的计算粒度为单条记录。 关系运算 数学运算 逻辑运算 数值计算 类型转换 日期函数 条件函数 字符串函数 统计函数聚合函数函数处理的数
2015-07-21 21:34:27 7625
原创 Hive高级查询(group by、 order by、 join等)
查询操作group by、 order by、 join 、 distribute by、sort by、 clusrer by、 union all底层的实现 mapreduce常见的聚合操作count计数count(*) 所有值不全为NULL时,加1操作count(1) 不管有没有值,只要有这条记录,值就加1count(col) col列里面的值为null,值不会加1,这个
2015-07-19 22:43:08 20222 2
原创 Hive动态分区
动态分区指不需要为不同的分区添加不同的插入语句,分区不确定,需要从数据中获取。相关参数设置set hive.exec.dynamic.partition=true; //使用动态分区(可通过这个语句查看:set hive.exec.dynamic.partition;) set hive.exec.dynamic.partition.mode=nonstrict;//无限制模式 如果模式是str
2015-07-18 18:14:44 5175
原创 Hive的表属性操作
修改表名alter table table_name rename to new_table_name增加列alter table tablename add columns(c1 string comment 'xxxx', c2 long comment 'yyyy')修改列名alter table tablename change column c_Old c_New int comment
2015-07-18 18:05:15 9135
原创 Hive数据导出
Hadoop命令的方式:get、texthive> dfs -get /user/hive/warehouse/testtable/* /liguodong/dataimport;hive> !ls /liguodong/dataimport/;datatestdatatest_copy_1通过INSERT … DIRECTORY方式insert overwrite [local] dire
2015-07-17 23:19:17 2146
原创 Hive数据加载(内部表,外部表,分区表)
内表数据加载创建表时加载create table newtable as select col1,col2 from oldtablehive> create table testNew as select name,addr from testtable;hive> select * from testNew;OKliguodong cdaobama lsjliguodon
2015-07-17 21:49:39 23552
原创 线程上下文类加载器与服务器类加载原理
双亲委派机制以及类加载器的问题一般情况下.保证同一个类中所关联的其他类都是由当前类的类加载器所加载的。 比如,class A本身在Ext下找到.那么他里面new出来的一些类也就只能用Ext去查找了(不会低一个级别)。所以有些明明App可以找到的,却找不到了。JDBC API他有实现的driver部分(mysql,sql server)。我们的JDBC APl都是由Boot或者Ext来载入的。但是J
2015-07-17 17:35:45 2386
原创 JVM类加载器原理与自定义类加载器
一、类加载器原理JVM将class文件字节码文件加载到内存中, 并将这些静态数据转换成方法区中的运行时数据结构,在堆中生成一个代表这个类的java.lang.Class 对象,作为方法区类数据的访问入口。二、类缓存标准的Java SE类加载器可以按要求查找类,但一旦某个类被加载到类加载器中,它将维持加载(缓存)一段时间。不过,JVM垃圾收集器可以回收这些Class过象。三
2015-07-17 16:35:07 3651
原创 JVM类加载过程及主动引用与被动引用
了解类加载全过程,有助于了解JVM运行过程,以及更深入了解java动态性(解热部署,动态加载),提高程序灵活性。类加载全过程:JVM将class文件字节码文件加载到内存中,并对数据进行校验解析和初始化,最终形成可以直接使用的java类型的过程。 加载将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区中的运行时数据结构,在堆中生成一个代表这个类的java.lang.Class对象,
2015-07-16 15:33:11 2263
原创 Hive Cilent数据操作
Hive执行命令方式有cli,jdbc,hwi,beeline,而我们常用的往往是cli shell 操作。cli shellhive -helphive --help注:命令脚本必须在集群的节点或hiveclient执行。 hive -e "select * from testtable"hive -S -e "select * from testtable"hive -S -e "selec
2015-07-15 22:24:52 1342
原创 Hive分区表与分桶
分区表在Hive Select查询中,一般会扫描整个表内容,会消耗很多时间做没必要的工作。 分区表指的是在创建表时,指定partition的分区空间。分区语法 create table tablename name string ) partitioned by(key type,…)create table if not exists employees(name st
2015-07-15 18:07:04 7741
原创 Hive不同文件的读取与序列化
Hive不同文件的读取对比stored as textfile直接查看hdfs hadoop fs -texthive> create table test_txt(name string,val string) stored as textfile;stored as sequencefilehadoop fs -texthive> create table test_seq(name stri
2015-07-15 16:37:08 3145
原创 Hive命令行常用操作(数据库操作,表操作)
数据库操作查看所有的数据库 hive> show databases ;使用数据库default hive> use default; 查看数据库信息 hive > describe database default; OK db_name comment location owner_name owner_type parameters
2015-07-14 22:48:01 50888 1
原创 Hive数据类型与文件存储格式
Hive数据类型基础数据类型:TINYINT,SMALLINT,INT,BIGINT,BOOLEAN,FLOAT,DOUBLE,STRING,BINARY,TIMESTAMP,DECIMAL,CHAR,VARCHAR,DATE。复杂数据类型:包括ARRAY,MAP,STRUCT,UNION,这些复杂类型是由基础类型组成的。ARRAY:ARRAY类型是由一系列相同数据类型元素组成的,这些元素可以通过下
2015-07-14 10:37:55 3243 1
原创 Hive简述及几种访问方式
what is hive?Hive 是建立在Hadoop上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据的提取转化加载(ETL ),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类SQL查询语言,称为 HQL,它允许熟悉SQL的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 redu
2015-07-13 16:26:09 5950
原创 基于Solr的HBase实时查询方案
实时查询方案HBase+Solr+HBase-Indexer 1、HBase提供海量数据存储 2、solr提供索引构建与查询 3、HBase indexer提供自动化索引构建(从HBase到Solr)实时查询方案HBase Indexerhttps://github.com/NGDATA/hbase-indexer教程 https://github.com/NGDATA/hbase-inde
2015-07-12 16:44:04 3402
原创 HBase之BloomFilter
HBase的Get/Scan操作流程 hbase中有BloomFilter的功能,可以在有些情况下过滤掉不需要的hfile,节省IO。BloomFilter作用BloomFilter在HBase中的作用? HBase**利用BloomFilter来提高随机读**(Get)的性能,对于顺序(Scan)而言,设置Bloomfilter是没有作用的(0.92以后,如果设置了bloomfilter为RO
2015-07-09 20:54:57 4533
原创 HBase快照(Snapshot)技术
什么是快照快照就是一份元信息的合集,允许管理员恢复到表的先前状态。快照不是表的复制而是一个文件名称列表,因而不会复制数据。 完全快照恢复是指恢复到之前的“表结构”以及当时的数据,快照之后发生的数据不会恢复。快照的作用HBase中存在的备份或克隆表的方法就是使用复制/导出表或者在关闭表之后拷贝HDFS中的所有HFile。 复制或导出是通过一系列工具调用MapReduce来扫描并复制表,这样会对Re
2015-07-09 17:56:27 14321
原创 HBase建立二级索引的一些解决方案
HBase的一级索引就是rowkey,我们只能通过rowkey进行检索。如果我们相对hbase里面列族的列列进行一些组合查询,就需要采用HBase的二级索引方案来进行多条件的查询。 常见的二级索引方案有以下几种: 1.MapReduce方案 2.ITHBASE方案 3.IHBASE方案 4.Coprocessor方案 5.Solr+hbase方案MapReduce方案IndexBuild
2015-07-07 22:09:01 15097
原创 HBase数据导入的几种操作
数据导入有如下几种方式: 1.利用HBase提供的ImportTsv将csv文件导入到HBase 2.利用HBase提供的completebulkload将数据导入到HBase 3.利用HBase提供的Import将数据导入到HBase利用ImportTsv将csv文件导入到HBase命令:格式:hbase [类] [分隔符] [行键,列族] [表] [导入文件]bin/hbase org
2015-07-06 16:08:31 16465 1
原创 HBase集群数据迁移方案
一、静态迁移方案1、在hbase停止的状态下进行数据的迁移。2、采用Hadoop distcp方式,将以上目录的内容,迁移到另一个集群。 使用add_table.rb进行恢复。缺点:不太灵活二、动态迁移方案-Replication备份方案 -CopyTable方案 -Export and Import方案1.Replication备份方案修改hbase
2015-07-06 10:49:42 7051
原创 HBase在线数据备份
简述hbase-0.90.0的一个重要改进是引入了replication机制,使它的数据完整性得到了进一步的保障。 hbase的replication机制很像mysql statement-based replication。它是通过WALEdit和HLog来实现的。当请求发送给master cluster时,HLog日志放入hdfs的同时进入replication队列,由slave cluste
2015-07-05 09:49:54 2355
原创 HBase的WAL机制
WAL(Write-Ahead-Log)预写日志是HBase的RegionServer在处理数据插入和删除的过程中用来记录操作内容的一种日志。在每次Put、Delete等一条记录时,首先将其数据写入到RegionServer对应的HLog文件的过程。 客户端往RegionServer端提交数据的时候,会先写WAL日志,只有当WAL日志写成功以后,客户端才会被告诉提交数据成功,如果写WAL失败会告知
2015-07-04 21:10:48 14210 1
原创 将mysql数据从Windows迁移到Linux中
1、先在windows上将数据都导出一个文件。(这里以某个数据库为例)导出整个数据库mysqldump -u 用户名 -p密码 数据库名 > 导出的文件名导出指定表mysqldump -u 用户名 -p密码 数据库名 表名1 表名2 ... > 导出的文件名2、将数据从Windows拷贝到Linux中。3、登录Linux的MySql数据库 4、创建与windows同名的数据库名。mys
2015-07-04 10:01:27 4705
原创 HBase数据存储格式
好的数据结构,对于检索数据,插入数据的效率就会非常高。常见的数据结构B+树根节点和枝节点很简单,分别记录每个叶子节点的最小值,并用一个指针指向叶子节点。 叶子节点里每个键值都指向真正的数据块,每个叶子节点都有前指针和后指针,这是为了做范围查询时,叶子节点间可以直接跳转,从而避免再去回溯至枝和根节点。 特点: 1、有n棵子树的结点中含有n个关键字,每个关键字不保存数据,只用来索引,所有数据都保存
2015-07-04 08:36:12 8295
原创 MapReduce on HBase使用与集成
为什么需要MapReduce on HBase?hbase本身并没有提供很好地二级索引方式。如果直接使用hbase提供的scan直接扫描方式,在数据量很大的情况下就会非常慢。可以使用Mapreduce的方法操作hbase数据库。Hadoop MapReduce提供相关API,可以与hbase数据库无缝连接。 API链接: http://hbase.apache.org/devapidocs/ind
2015-07-03 20:59:00 3586
原创 HBase协处理器及实例
为什么引入协处理器?HBase作为列数据库最经常被人诟病的特性包括:无法轻易建立“二级索引”,难以执行求和、计数、排序等操作。比如,在旧版本(虽然HBase在数据存储层中集成了MapReduce,能够有效用于数据表的分布式计算。然而在很多情况下,做一些简单的相加或者聚合计算的时候,如果直接将计算过程放置在server端,能够减少通讯开销,从而获得很好的性能提升。于是, HBase在0.
2015-07-03 19:58:14 6930
《ZigBee实战演练》第三版
2014-08-19
OSGi web开发常用jar包
2014-08-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人