大数据实践
文章平均质量分 86
学习分享Hadoop...
吃果冻不吐果冻皮
坚持输入+输出学习模式,并让其变成一种习惯。
展开
-
Hive调优(语法与参数层面优化)
一、简介 作为企业Hadoop应用的核心产品,Hive承载着FaceBook、淘宝等大佬 95%以上的离线统计,很多企业里的离线统计甚至全由Hive完成,如我所在的电商。Hive在企业云计算平台发挥的作用和影响愈来愈大,如何优化提速已经显得至关重要。好的架构胜过任何优化,好的Hql同样会效率大增,修改Hive参数,有时也能起到很好的效果。有了瓶颈才需要优化 1、Hadoop的主要性能瓶颈是IO负原创 2015-05-04 11:09:30 · 13837 阅读 · 0 评论 -
Hadoop自测题及参考答案(持续更新中)
单选题 1、与其他几项不同的是 A. Mesos B. Mongodb C. Corona D. Borg E. YARN注:其他几项都是资源统一管理系统或者资源统一调度系统,而 Mongodb一种非关系型数据库。2、[java基础] 以下不属于线程安全的数据结构是 A. HashMap B. HashTable C. CopyOnWriteArrayList D. Concur原创 2015-06-25 09:13:50 · 65204 阅读 · 10 评论 -
Apache Kylin资料收集整理
kylin 搭建和简单测试结果 http://chengjianxiaoxue.iteye.com/blog/2218510Kylin的cube模型 http://www.cnblogs.com/en-heng/p/5239311.html原创 2016-10-25 15:19:50 · 876 阅读 · 0 评论 -
Spark-shell例子
//parallelize演示(并行化scala的数据集)val num=sc.parallelize(1 to 10) //将数组并行化成RDD,默认分片val doublenum=num.map(_*2) //每个元素*2val threenum=doublenum.filter(_%3==0) //过滤出能整除3的元素//Action触发job的运行threenum.coll原创 2015-12-22 17:19:11 · 2522 阅读 · 0 评论 -
IDEA编写Spark程序及手动Artifacts并运行
新建scala工程添加Spark Jar包新建如下格式的目录/src/main/scala编写代码package SparkDemo002import org.apache.spark.{SparkContext, SparkConf}import org.apache.spark.SparkContext._/** * Created by liguodong on 12/22/15.原创 2015-12-24 17:33:31 · 987 阅读 · 0 评论 -
Spark 2.0介绍:从RDD API迁移到DataSet API
RDD迁移到DataSetDataSet API将RDD和DataFrame两者的优点整合起来,DataSet中的许多API模仿了RDD的API,虽然两者的实现很不一样。所以大多数调用RDD API编写的程序可以很容易地迁移到DataSet API中,下面我将简单地展示几个片段来说明如何将RDD编写的程序迁移到DataSet。1、加载文件RDDval rdd = sparkContext.textF转载 2016-05-24 19:12:45 · 7504 阅读 · 1 评论 -
Spark简述及基本架构
Spark简述Spark发源于美国加州大学伯克利分校AMPLab的集群计算平台。它立足 于内存计算,从多迭代批量处理出发,兼收并蓄数据仓库、流处理和图计算等多种计算范式。 特点: 1、轻 Spark 0.6核心代码有2万行,Hadoop1.0为9万行,2.0为22万行。2、快 Spark对小数据集能达到亚秒级的廷迟,这对于Hadoop MapReduce是无法想象的(由于”心跳”间隔机制,原创 2015-06-24 20:37:06 · 6530 阅读 · 0 评论 -
大数据资料收集
Spark SQL 官方文档 http://spark.apache.org/docs/latest/sql-programming-guide.htmlSpark SQL 官方文档-中文翻译 http://www.cnblogs.com/BYRans/p/5057110.html原创 2016-11-15 18:31:40 · 1082 阅读 · 0 评论 -
Hive常用函数大全(一)(关系/数学/逻辑/数值/日期/条件/字符串/集合统计/复杂类型)
关系运算## > < =##注意: String 的比较要注意(常用的时间比较可以先 to_date 之后再比较)select long_time>short_time, long_time<short_time,long_time=short_time, to_date(long_time)=to_date(short_time)from ( select '2017-01-11原创 2017-03-08 20:18:19 · 6483 阅读 · 0 评论 -
Hive常用函数大全(二)(窗口函数、分析函数、增强group)
关系运算## > < =##注意: String 的比较要注意(常用的时间比较可以先 to_date 之后再比较)select long_time>short_time, long_time原创 2017-03-03 11:13:55 · 79428 阅读 · 15 评论 -
SpringMVC整合Highcharts(基本饼图,条形图,柱状图)
步骤1、引入highcharts<script type="text/javascript" src="${context.getContextPath()}/js/highcharts/highcharts.js"></script><script type="text/javascript" src="${context.getContextPath()}/js/highcharts/high原创 2017-12-21 18:17:46 · 2689 阅读 · 3 评论 -
大数据面试指南(含答案)
大数据面试指南(含答案)_v1 包含Hadoop、Hive、Spark、Hbase、Java、Spring、Redis、Kafka等内容。 下载链接:http://download.csdn.net/detail/scgaliguodong123_/9841862原创 2017-05-14 09:28:58 · 2363 阅读 · 0 评论 -
初识Logstash
logstash简介logstash是一种分布式日志收集框架,开发语言是JRuby,当然是为了与Java平台对接,不过与Ruby语法兼容良好,非常简洁强大,经常与ElasticSearch,Kibana配置,组成著名的ELK技术栈,非常适合用来做日志数据的分析。当然它可以单独出现,作为日志收集软件,你可以收集日志到多种存储系统或临时中转系统,如MySQL,redis,kakfa,HDFS, luce原创 2017-02-20 13:02:37 · 2842 阅读 · 0 评论 -
基于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 · 3401 阅读 · 0 评论 -
HBase简述
简介HBase(Hadoop Database)是一个多版本,高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。 HBase利用Hadoop HDFS作为其文件存储系统。提供高可靠,高性能,列存储,可伸缩 ,实时读写,适用于非结构化数据存储的数据库系统。 HBase利用Hadoop MapReduce来处理HBase中的原创 2015-06-17 21:51:38 · 2179 阅读 · 0 评论 -
HBase命令行基本操作
关于HBase[hdfs@hadoop1 root]$ hbaseUsage: hbase [<options>] <command> [<args>]Options: --config DIR Configuration direction to use. Default: ./conf --hosts HOSTS Override the list in 'regionse原创 2015-06-28 21:11:11 · 11096 阅读 · 0 评论 -
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 · 2354 阅读 · 0 评论 -
HBase的WAL机制
WAL(Write-Ahead-Log)预写日志是HBase的RegionServer在处理数据插入和删除的过程中用来记录操作内容的一种日志。在每次Put、Delete等一条记录时,首先将其数据写入到RegionServer对应的HLog文件的过程。 客户端往RegionServer端提交数据的时候,会先写WAL日志,只有当WAL日志写成功以后,客户端才会被告诉提交数据成功,如果写WAL失败会告知原创 2015-07-04 21:10:48 · 14208 阅读 · 1 评论 -
HBase扫描器与过滤器
扫描器HBase在扫描数据的时候,使用scanner表扫描器。 HTable通过一个Scan实例,调用getScanner(scan)来获取扫描器。可以配置扫描起止位以及其他的过滤条件。 通过迭代器返回查询结果,使用起来虽然不是很方便,不过并不复杂。但是这里有一点可能被忽略的地方,就是返回的scanner迭代器,每次调用next的获取下一条记录的时候,默认配置下会访问一次RegionServer原创 2015-06-30 19:10:01 · 3193 阅读 · 0 评论 -
HBase协处理器及实例
为什么引入协处理器?HBase作为列数据库最经常被人诟病的特性包括:无法轻易建立“二级索引”,难以执行求和、计数、排序等操作。比如,在旧版本(虽然HBase在数据存储层中集成了MapReduce,能够有效用于数据表的分布式计算。然而在很多情况下,做一些简单的相加或者聚合计算的时候,如果直接将计算过程放置在server端,能够减少通讯开销,从而获得很好的性能提升。于是, HBase在0.原创 2015-07-03 19:58:14 · 6927 阅读 · 0 评论 -
HBase客户端API基本操作
Java类与HBase数据模型HBaseConfiguration 包名 : org.apache.hadoop.hbase.HBaseConfiguration 作用:对HBase进行配置。 用法示例:HBaseConfiguration hconfig = new HBaseConfiguration();hconfig.set("hbase.zookeeper.prope原创 2015-06-30 18:50:27 · 1548 阅读 · 0 评论 -
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 · 16462 阅读 · 1 评论 -
HBase集群数据迁移方案
一、静态迁移方案1、在hbase停止的状态下进行数据的迁移。2、采用Hadoop distcp方式,将以上目录的内容,迁移到另一个集群。 使用add_table.rb进行恢复。缺点:不太灵活二、动态迁移方案-Replication备份方案 -CopyTable方案 -Export and Import方案1.Replication备份方案修改hbase原创 2015-07-06 10:49:42 · 7050 阅读 · 0 评论 -
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 阅读 · 0 评论 -
HBase快照(Snapshot)技术
什么是快照快照就是一份元信息的合集,允许管理员恢复到表的先前状态。快照不是表的复制而是一个文件名称列表,因而不会复制数据。 完全快照恢复是指恢复到之前的“表结构”以及当时的数据,快照之后发生的数据不会恢复。快照的作用HBase中存在的备份或克隆表的方法就是使用复制/导出表或者在关闭表之后拷贝HDFS中的所有HFile。 复制或导出是通过一系列工具调用MapReduce来扫描并复制表,这样会对Re原创 2015-07-09 17:56:27 · 14319 阅读 · 0 评论 -
HBase数据存储格式
好的数据结构,对于检索数据,插入数据的效率就会非常高。常见的数据结构B+树根节点和枝节点很简单,分别记录每个叶子节点的最小值,并用一个指针指向叶子节点。 叶子节点里每个键值都指向真正的数据块,每个叶子节点都有前指针和后指针,这是为了做范围查询时,叶子节点间可以直接跳转,从而避免再去回溯至枝和根节点。 特点: 1、有n棵子树的结点中含有n个关键字,每个关键字不保存数据,只用来索引,所有数据都保存原创 2015-07-04 08:36:12 · 8294 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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常见内置函数及其使用
函数分类HIVE CLI命令显示当前会话有多少函数可用 SHOW FUNCTIONS;显示函数的描述信息 DESC FUNCTION concat;显示函数的扩展描述信息 DESC FUNCTION EXTENDED concat;简单函数函数的计算粒度为单条记录。 关系运算 数学运算 逻辑运算 数值计算 类型转换 日期函数 条件函数 字符串函数 统计函数聚合函数函数处理的数原创 2015-07-21 21:34:27 · 7623 阅读 · 0 评论 -
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 · 2144 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 23548 阅读 · 0 评论 -
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 · 20221 阅读 · 2 评论 -
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 阅读 · 0 评论 -
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 · 9129 阅读 · 0 评论 -
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 · 7740 阅读 · 0 评论 -
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 · 50875 阅读 · 1 评论 -
Hive简述及几种访问方式
what is hive?Hive 是建立在Hadoop上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据的提取转化加载(ETL ),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类SQL查询语言,称为 HQL,它允许熟悉SQL的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 redu原创 2015-07-13 16:26:09 · 5950 阅读 · 0 评论 -
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 · 5174 阅读 · 0 评论