自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 资源 (2)
  • 收藏
  • 关注

原创 面试常见问题一(摘自微信)

1. static和final的区别和用途static:修饰变量:静态变量随着类的加载时就自动完成初始化,内存中只有一个,且虚拟机只会为它分配一次内存,所有类共享静态变量。修饰方法:静态方法不依赖于于任何实例对象,被类的所有实例共享。静态方法可以直接通过类名调用,静态方法必须实现,不能用abstract修饰。修饰代码块:在类加载完之后会自动执行的代码块。代码执行顺序:父类静态代码块--->子...

2018-03-19 20:40:59 237

原创 Mapreduce实现MapSideJoin

当连接的两个表是一个比较小的表和一个特别大的表的时候,我们把比较小的table直接放到内存中去,然后再对比较大的表格进行map操作。join就发生在map操作的时候,每当扫描一个大的table中的数据,就要去去查看小表的数据,哪条与之相符,继而进行连接。这里的join并不会涉及reduce操作。map端join的优势就是在于没有shuffle。 比如产品表很小,存储了几条产品信息,但是订单表却很

2017-11-08 09:09:27 419

原创 Spark RDD---api(map&reduce)

RDD简介RDD是spark中的抽象数据结构,任何数据在Spark中都被表示为RDD。RDD可被看成一个数组,但RDD中的数据是可以分区存储的,能够分布在不同的机器上。Spark应用程序就是把需要处理的数据转化为RDD,然后进行一系列的transforms(转换)和action(操作/执行),从而得到结果 RDD的创建1、将数组转化为RDDval a = sc.parallelize(1

2017-11-07 23:21:24 256

原创 Hive ----DDL

1、创建数据库create database test_db comment 'test database';create database if not exists test_db comment 'test database;create database test_db location '/hive/db/';create database test_db with dbprope

2017-11-06 14:19:25 356

原创 Hive---Join 优化

1、连接顺序优化多表连接,会转换成多个MR Job,每一个MR Job在Hive中称为JOIN阶段(Stage)。在每一个Stage,按照JOIN顺序中的最后一个表应该尽量是大表,因为JOIN前一阶段生成的数据会存在于Reducer的buffer中,通过stream最后面的表,直接从Reducer的buffer中读取已经缓冲的中间结果数据(这个中间结果数据可能是JOIN顺序中,前面表连接的结果的Ke

2017-11-06 12:05:08 3026

原创 Mapreduce shuffle

Shuffle:从Map端到Reduce端的执行情况基本执行过程,描述如下: 一个InputSplit输入到map,会运行我们实现的Mapper的处理逻辑,对数据进行映射操作。map输出时,会首先将输出中间结果写入到map自带的buffer中(buffer默认大小为100M,可以通过io.sort.mb配置)。map自带的buffer使用容量达到一定门限(默认0.80或80%,可以通过io.so

2017-11-03 10:10:09 195

原创 HIVE存储格式

TextFileHive默认格式,数据不做压缩,磁盘开销大,数据解析开销大。 可结合Gzip、Bzip2、Snappy等使用(系统自动检查,执行查询时自动解压),但使用这种方式,hive不会对数据进行切分,从而无法对数据进行并行操作。SequenceFileSequenceFile是Hadoop API 提供的一种二进制文件,它将数据以ParquetApache Parquet是Hadoop生态圈

2017-11-03 09:35:28 314

原创 Spark Streaming与Flume集成小测试:PUSH的方式

需求:监控目录/opt/datas/spark-flume下的wctotal.log文件,并将文件内容通过Spark Streaming 进行批处理,在屏幕上输出event的数量实验在伪分布式环境下,用local的模式启动spark(CDH5.5.0版本) 为了看每条代码比较清楚,采用bin/spark-shell –master local[2]方式启动 集成这两个功能需要将三个jar包导入到

2017-11-01 23:14:39 238

原创 spark小应用二:分组分数排序(SCALA)

需求: 1)按照第一个字段进行分组 2)对分组中的第二个字段进行排序(降序) 3)获取每个分组Top Key(比如获取前三个值) 数据:aa 78bb 98aa 80cc 98aa 69cc 87bb 97cc 86aa 97bb 78bb 34cc 85bb 92cc 72bb 33bb 231、按照第一个字段进行分组val rdd = sc.textFile

2017-11-01 11:33:40 3029

原创 spark小应用一:wordcount,按词频降序(SCALA)

val rdd = sc.textFile("hdfs://mycluster/user/bpf/sparkApp/wordcount/input")val wordcount = rdd.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_)这样得到的结果并没有按照某种规则排序按照value值进行降序。(出现次数多的在前) 思路:key value反

2017-11-01 11:11:54 1622

原创 Hbase在HDFS上的目录树

一、0.94版本系统级别的一级目录如下,用户自定义的均在这个/hbase 下的一级子目录下/hbase/-ROOT-/hbase/.META./hbase/.archive/hbase/.corrupt/hbase/.hbck/hbase/.logs/hbase/.oldlogs/hbase/.snapshot/hba

2017-10-31 11:10:34 905

原创 MapReduce中map与reduce的个数

Map的个数在map阶段读取数据前,FileInputFormat会将输入文件分割成split。split的个数决定了map的个数。影响map个数,即split个数的因素主要有:HDFS块的大小,即HDFS中dfs.block.size的值。默认为128M文件的大小。文件的个数。FileInputFormat按照文件分割split,并且只会分割大文件,即那些大小超过HDFS块的大小

2017-10-30 22:54:59 1429

原创 RDD五大特性

RDD(Resilient Distributed Datasets,弹性分布式数据集)五大特性1、A list of partitions一系列的分片:比如说128M一片,类似于Hadoop中的split2、A function for computing each split每个分片上都有一个函数去迭代/执行/计算它3、A list of dependencies on o

2017-10-30 21:13:36 442

转载 Spark架构原理

http://www.cnblogs.com/tgzhu/p/5818374.htmlApache Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架,最初在2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apache的开源项目之一,与Hadoop和Storm等其他大数据和MapReduce技术相比,Spark有如下优势:Spark提供了一个全面

2017-10-30 19:38:51 435

原创 Unable to fence NameNode at 问题

配置完hadoop ha,进行测试时,发现kill掉一个namenode,另一个还是standby,并不会自动变成active,在zkfc的log日志中发现这么一条warn:PATH=$PATH:/sbin:/usr/sbin fuser -v -k -n tcp 8090 via ssh: bash: fuser: 搭建ha的系统是centos最小安装版,并没有fuser这个东西,使

2017-10-30 13:18:29 1385

转载 什么是Zookeeper,Zookeeper的作用是什么,在Hadoop及hbase中具体作用是什么

点击打开链接一、什么是Zookeeper ZooKeeper 顾名思义 动物园管理员,他是拿来管大象(Hadoop) 、 蜜蜂(Hive) 、 小猪(Pig)  的管理员, Apache Hbase和 Apache Solr 以及LinkedIn sensei  等项目中都采用到了 Zookeeper。ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,ZooKee

2017-10-28 21:31:35 8466

原创 HBase Hive整合

本次整合使用的是cdh5.5.0的版本(伪分布式环境下)首先 需要在$HIVE_HOME/lib下添加以下jar包guava-14.0.1.jarhbase-common-1.0.0-cdh5.5.0.jar hbase-server-1.0.0-cdh5.5.0.jar hbase-client-1.0.0-cdh5.5.0.jar hbase-protocol-1.0.0-cd

2017-10-28 13:50:16 288

原创 sqoop将mysql中的表导入到HBase

需求:将MySQL中的emp表导入到HBase中emp表:(id int, name varchar(20))bin/sqoop import \--connect jdbc:mysql://BPF:3306/bpf \--table emp \--hbase-table emp \--column-family info \--hbase

2017-10-28 13:37:32 674

原创 Hbase java.lang.IllegalArgumentException: Wrong FS file://......expected:hdfs://...

在使用hbase中importtsv这个功能进行BULK LODING的时候,使用-Dimporttsv.bulk.output=hdfs://BPF:9000/user/bpf/hbase/hfileoutput这一参数,老是发生标题所说的错误,苦苦没有解决,后来突然在网上看到一位网友的帖子,将hadoop的core-site.xml配置文件中的hadoop.tmp.dir属性值由本地路径改

2017-10-25 19:57:39 809

原创 编写mapreduce实现HBase中数据的迁移

需求:将HBase中student表的列族为info,列名为name和age的数据迁移到另一个表basic中代码如下package com.bpf.hbase;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.conf.Configured

2017-10-25 13:15:41 325

原创 HBase数据导入----improttsv&Bulk Load

使用importtsv直接导入时如果只指定一个输入目录,导出到HBase表中的数据都是存在内存中的,HDFS上并没有对应的数据(如有错误请指出,谢谢)在HBase中提供了一种BULK LOAD的方式进行:HBase 支持BULK LOAD的入库方式,它是利用HBase的数据信息按照特定格式存储在HDFS内这一原理,直接在HDFS中生成持久化的HFile数据格式文件,然后上传至合适位置,即完

2017-10-25 11:38:58 279

原创 HBase数据导入----improttsv

需求:将HDFS中的每行以tab分隔的测试数据,使用importtsv导入到HBase的表中、在HBase中创建一个表:create 'student','info'准备的数据1001 zhangsan 35 male beijing 0108766231002 lisi 31 male hangzhou 0108762231003 zhaoliu 23 female shan

2017-10-25 11:12:13 535

原创 HBase-----JAVA API

package com.bpf.hbase;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.Cell;import org.apache.hadoop.hbase.CellUtil;import org.apache.hadoop.hbase.HBaseConfiguration;im

2017-10-24 12:52:24 185

转载 HBase架构介绍

http://www.cnblogs.com/csyuan/p/6543018.html1. HBase框架简单介绍HBase是一个分布式的、面向列的开源数据库,它不同于一般的关系数据库,是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。HBase使用和 BigTable非常相同的数据模型。用户存储数据行在一个表里。一个数据行拥有一个可选

2017-10-24 12:40:54 369

原创 Hue配置MySQL查询的时候提示找不到libmysqlclient.so(ubuntu环境下)

今天换了个linux系统,把原来的hadoop环境考到了新的系统上。然后在线安装了个MySQL,再测试hue是否可以使用DB查询时报错:libmysqlclient.so.20找不到。在usr下找了半天确认没有这个东西,通过以下方法解决apt-cache search libmysqlapt-get install libmysql++-dev

2017-10-21 21:52:15 1420

原创 flume+mapreduce实战小练习

需求:对nginx服务器下的log文件进行收集到HDFS上,然后通过mapreduce对日志文件进行分析。我这里的log文件位于 /var/log/nginx/access.log。通过打开nginx的页面进行刷新来模拟用户访问,会产生新的日志信息1、通过flume来收集数据到HDFS上# define agenta2.sources = r2a2.channels

2017-10-19 19:09:18 1157

原创 Coordinator-wf-mr

通过coordinator调度一个wordcount例子,定时开启运行时间并且设置调度频率job.propertiesnameNode=hdfs://BPF:9000jobTracker=BPF:8032queueName=defaultoozieappsRoot=user/bpf/oozie-appsDataRoot=user/bpf/oozie/datasinputDir=

2017-10-18 20:02:23 219

原创 Workflow-Sqoop Action

本workflow位于oozie目录下新创建的一个oozie-apps文件夹下的sqoop文件夹中。sqoop:1、job.properties2、lib文件夹(其中包含了一个mysql的驱动包)2、workflow.xml将整个oozie-apps文件夹上传到hdfs的对应用户目录下然后运行程序bin/oozie job -config

2017-10-18 19:47:40 283

原创 Workflow-Hive Action

本workflow位于oozie目录下新创建的一个oozie-apps文件夹下的hive-select文件夹中。hive-select:1、job.properties2、lib文件夹(其中包含了一个mysql的驱动包)3、workflow.xml4、hive-site.xml5、select-user.sql将整个oozie-apps文

2017-10-18 19:39:52 322

原创 Workflow-Shell Action

本workflow位于oozie目录下新创建的一个oozie-apps文件夹下的shell文件夹中。作用为:用hive执行 hive -f user.sql  语句shell:1、job.properties2、test.sh         (shell脚本)3、user.sql       (hive的一个查询语句)3、workflow.xm

2017-10-18 19:33:38 706

原创 Workflow-Mapreduce Action

本workflow位于oozie目录下新创建的一个oozie-apps文件夹下的mr-wc-wf文件夹中。mr-wc-wf:1、job.properties2、lib文件夹(其中包含了一个wordcount程序的jar包)3、workflow.xml将整个oozie-apps文件夹上传到hdfs的对应用户目录下然后运行程序bin/oozie job -config

2017-10-18 18:56:19 251

原创 oozie初学习

oozie:工作流调度工具Oozie是一个基于工作流引擎的服务器,可以在上面运行Hadoop的Map Reduce和Pig任务。它其实就是一个运行在Java Servlet容器(比如Tomcat)中的Javas Web应用。对于Oozie来说,工作流就是一系列的操作(比如Hadoop的MR,以及Pig的任务),这些操作通过有向无环图的机制控制。这种控制依赖是说,一个操作的输入依

2017-10-17 10:09:13 256

原创 Flume初学习

Flume(日志收集系统)是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。当前Flume有两个版本Flume 0.9X版本的统称Flume-og,Flume1.X版本的统称Flume-ng。由于Flume-ng经过

2017-10-11 19:19:32 276

原创 sqoop初学习

Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。Sqoop配置很简单,只需要修改conf下的sqoop-env

2017-10-11 18:30:39 246

原创 HIVE实战:官方案例练习

测试文件下载本案例来自hive官方文档需求:一份有关观看电影的日志(u.data),有10W条数据,分析出一周内那天观影人数多1、创建原表CREATE TABLE u_data ( userid INT, movieid INT, rating INT, unixtime STRING)ROW FORMAT DELIMITEDFIELDS TERMINATE

2017-10-06 11:44:05 5359

原创 HIVE实战:简单处理web日志

需求:简单处理一个web日志,该日志共有11个字段,5794条,现要进行简单处理展示日志中的一条数据:"27.38.5.159" "-" "31/Aug/2015:00:04:37 +0800" "GET /course/view.php?id=27 HTTP/1.1" "303" "440" - "http://www.ibeifeng.com/user.php?act=mycourse

2017-10-06 11:25:18 684

原创 Hive初学习:了解及配置

背景:在使用mapreduce时,表现出了以下两点不便性:MapReduce is hard to program          【八股文】格式编程,三大部分No Schema, lack of query lanaguages, eg. SQL数据分析,针对DBA、SQL语句,如何对数据分析MapReduce编程成本高FaceBook 实现并开

2017-09-26 14:55:37 240

原创 Hadoop HA的部署

背景:Hadoop2.0之前,在HDFS集群中NameNode存在单点故障问题,对于只有一个NameNode的集群,如果NameNode机器出现问题,则整个集群将无法使用,直到NameNode重新启动。NameNode主要在以下两个方面影响HDFS集群:NameNode机器发生意外,如宕机,集群将无法使用,需要管理员重启NameNode机器需要升级,包括软件、硬件升级,

2017-09-25 17:54:19 330

原创 MapReduce实战练习四:找出共同好友

需求:有一个文件保存了如下信息:A:B,C,D,F,E,O (A的好友有B,C,D,F,E,O)B:A,C,E,KC:F,A,D,ID:A,E,F,LE:B,C,D,M,LF:A,B,C,D,E,O,MG:A,C,D,E,FH:A,C,D,E,OI:A,OJ:B,OK:A,C,DL:D,E,FM:E,F,GO:A,H,I,J求出两两之间有

2017-09-22 15:06:31 1647

原创 MapReduce实战练习三:倒排索引

需求:1、再不同的文件中 有着各种单词,每行单词之间以空格间隔2、统计所有文件,以每行为   单词(空格)文件1名-->单词出现的次数(空格)文件2名-->单词出现的次数(空格)文件3名-->单词出现的次数       的格式产生输出思路:1、先以 单词--文件名(空格)单词出现次数 的格式输出。2、然后再将相同的单词进行整合,按要求格式输出。(本地)测试数据:

2017-09-22 09:47:24 420

HIVE PDF PDF

HIVE PDF PDF HIVE PDF PDF HIVE PDF PDF HIVE PDF PDF

2017-10-29

HADOOP PDF

HADOOP 相关相关PDF HADOOP 相关相关PDF HADOOP 相关相关PDF

2017-10-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除