自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

suojie的博客

学习/总结/思考

  • 博客(36)
  • 收藏
  • 关注

转载 Spark Sql 性能调优

对于某些工作负载,可以通过在内存中缓存数据或打开一些实验选项来提高性能。在内存中缓存数据Spark SQL可以通过调用spark.catalog.cacheTable(“tableName”)或使用内存中的列式格式来缓存表.dataFrame.cache()。然后,Spark SQL将仅扫描所需的列,并自动调整压缩以最小化内存使用和GC压力。可以调用spark.catalog.uncach...

2019-03-24 09:35:43 355

转载 SparkSQL常用性能优化

一、代码优化1.在数据统计的时候选择高性能算子。例如Dataframe使用foreachPartitions将数据写入数据库,不要每个record都去拿一次数据库连接。通常写法是每个partition拿一次数据库连接。 /** * 将统计结果写入MySQL中 * 代码优化: * 在进行数据库操作的时候,不要每个record都去操...

2019-03-24 09:35:00 969 2

转载 Hive中跑MapReduce Job出现OOM问题分析及解决

一、引子今天在跑一段很复杂而且涉及数据量10多年的N个表join的长SQL时,发生了OOM的异常。由于一个map通常配置只有64MB或者128MB,则在Map阶段出现OOM的情况很少见。所以一般发生在reduce阶段。但是今天这个异常详细的看后,会发现既不是map阶段,也不是reduce阶段,发现不是执行过程,而是driver提交job阶段就OOM了。Hive中XMLEncoder...

2019-03-23 22:26:18 2749

转载 hive中UDF、UDAF和UDTF使用

Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以。一、背景:Hive是基于Hadoop中的MapReduce,提供HQL查询的数据仓库。Hive是一个很开放的系统,很多内容都支持用户定制,包括:a)文件格式:Text File,Sequence Fileb)内存中的数据格式: Java Integer/Strin...

2019-03-23 22:25:20 445

转载 spark面试问题收集

spark面试问题1、spark中的RDD是什么,有哪些特性RDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。 Dataset:就是一个集合,用于存放数据的 Distributed:分布式,可以并行在集群计算 Resilient:表示弹性的 弹性表示...

2019-03-23 22:20:06 208

原创 Hadoop分块与分片介绍及分片和分块大小相同的原因

概念介绍分块在HDFS系统中,为了便于文件的管理和备份,引入分块概念(block)。这里的块是HDFS存储系统当中的最小单位,HDFS默认定义一个块的大小为64MB。当有文件上传到HDFS上时,若文件大小大于设置的块大小,则该文件会被切分存储为多个块,多个块可以存放在不同的DataNode上,整个过程中HDFS系统会保证一个块存储在一个datanode上。但值得注意的是如果某文件...

2019-03-23 22:19:17 513

转载 Hadoop之分块、分片与shuffle机制详解

一 分块(Block)HDFS存储系统中,引入了文件系统的分块概念(block),块是存储的最小单位,HDFS定义其大小为64MB。与单磁盘文件系统相似,存储在 HDFS上的文件均存储为多个块,不同的是,如果某文件大小没有到达64MB,该文件也不会占据整个块空间。在分布式的HDFS集群上,Hadoop系统保证一个块存储在一个datanode上。把File划分成B...

2019-03-23 22:18:15 360

转载 Hive分区、分桶操作及其区别

1,Hive分区。 是指按照数据表的某列或某些列分为多个区,区从形式上可以理解为文件夹,比如我们要收集某个大型网站的日志数据,一个网站每天的日志数据存在同一张表上,由于每天会生成大量的日志,导致数据表的内容巨大,在查询时进行全表扫描耗费的资源非常多。那其实这个情况下,我们可以按照日期对数据表进行分区,不同日期的数据存放在不同的分区,在查询时只要指定分区字段的值就可以直接从该分区查找。...

2019-03-23 22:15:58 705

转载 hadoop中各组件的作用

Hadoop=HDFS+Yarn+MapReduce+Hbase+Hive+Pig+…1.HDFS:分布式文件系统,隐藏集群细节,可以看做一块儿超大硬盘主:namenode,secondarynamenode从:datanode2.Yarn:分布式资源管理系统,用于同一管理集群中的资源(内存等)主:Resourc...

2019-03-23 22:15:02 3274

转载 Hadoop 2.0工作原理学习

1 HDFS简介1.1 Hadoop 2.0介绍Hadoop是Apache的一个分布式系统基础架构,可以为海量数据提供存储和计算。Hadoop 2.0即第二代Hadoop系统,其框架最核心的设计是HDFS、MapReduce和YARN。其中,HDFS为海量数据提供存储,MapReduce用于分布式计算,YARN用于进行资源管理。Hadoop 1.0和Hadoop 2.0的结构对比:...

2019-03-23 22:14:14 229

转载 Hadoop生态圈技术概述

本文对hadoop生态圈技术做一个概要的介绍,文章中的前半部分的信息大多来自于网络,这里只是按照自己的学习思路整理了下。包括如下内容:hadoop诞生记 hadoop生态圈 常见组件简介 组件下载 学习路线一、hadoop诞生记最早Doug Cutting(后面被称为hadoop之父)领导创立了Apache的项目Lucene,然后Lucene又衍生出子项目Nutch,Nutch又...

2019-03-23 22:12:52 3856 1

转载 hive优化

1.介绍  首先,我们来看看Hadoop的计算框架特性,在此特性下会衍生哪些问题?数据量大不是问题,数据倾斜是个问题。 jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,耗时很长。原因是map reduce作业初始化的时间是比较长的。 sum,count,max,min等UDAF,不怕数据倾斜问题,hadoop在map端的汇总合并...

2019-03-23 22:11:31 769

转载 scala---stripMargin

问题描述:在Scala代码块中如何创建多行字符串,是否存在类似其他语言的“定界符”语法?解决方法: 要在Scala中创建多行字符串,就需要了解Scala的Multiline String。在Scala中,利用三个双引号包围多行字符串就可以实现。代码实例如:val foo = “””This isa scala multilineString”””运行结...

2019-03-19 17:58:54 1489

原创 宽依赖和窄依赖

宽依赖与窄依赖窄依赖是指父RDD的每个分区只被子RDD的一个分区所使用,子RDD分区通常对应常数个父RDD分区(O(1),与数据规模无关) 相应的,宽依赖是指父RDD的每个分区都可能被多个子RDD分区所使用,子RDD分区通常对应所有的父RDD分区(O(n),与数据规模有关)宽依赖和窄依赖如下图所示:相比于宽依赖,窄依赖对优化很有利 ,主要基于以下两点: 宽依赖往往对应着shu...

2019-03-19 15:43:49 1503

原创 Hive学习笔记之-使用Sqoop把Oracle表导入Hive

安装环境:Hive: hive-0.11.0Hadoop: Hadoop 1.2.1Sqoop: sqoop-1.4.4.bin__hadoop-1.0.0Oralce driver: ojdbc6.jar软件下载:Hive:http://apache.dataguru.cn/hive/Hadoop:http://apache.dataguru.cn/hado...

2019-03-14 15:21:03 271

转载 Hive总结篇及Hive的优化

概述Hive学习也有一段时间了,今天来对Hive进行一个总结,谈谈自己的理解,作者还是个小白,有不对的地方请大家指出相互学习,共同进步。今天来谈一谈什么是Hive,产生背景,优势等一系列问题。什么是Hive老规矩:官网地址Hive wiki.先来谈谈自己的理解:有些人可能会说Hive不就是写SQL的吗,那我们其实可以从另一个角度来理解:Hive就是那么强大啊,只要写SQL就...

2019-03-14 13:58:00 218

转载 hive优化总结

原文:https://blog.csdn.net/preterhuman_peak/article/details/40649213长期观察hadoop处理数据的过程,有几个显著的特征:1.不怕数据多,就怕数据倾斜。2.对jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,没半小时是跑不完的。map reduce作业初始化的时间是...

2019-03-14 09:47:12 114

转载 scala和maven整合

1.scala和maven如何整合 网上有一堆教程讲idea如何new module或new project一步一步来创建scala工程,在这里我不推荐这个。原因是现在主流的开发环境,大多数是采用maven来构建项目的,所以建议大家用maven+plugin的方式来构建scala应用,另外,就象VB.NET/C#/F#可同时在一个项目中使用,最大限度发挥各语种特长一样,java与可以与s...

2019-03-13 18:27:56 10361 1

转载 hadoop解决小文件思路

1.什么是小文件小文件一般是指明显小于Hadoop的block size的文件。Hadoop的block size一般是64MB,128MB或者256MB,现在一般趋向于设置的越来越大。后文要讨论的内容会基于128MB,这也是CDH中的默认值。为了方便后面的讨论,Fayson这里假定如果文件大小小于block size的75%,则定义为小文件。但小文件不仅是指文件比较小,如果Hadoop集群中...

2019-03-13 11:37:27 198

转载 数据仓库-拉链操作

定义:拉链表 - 维护历史状态,以及最新状态数据的一种表,拉链表根据拉链粒度的不同,实际上相当于快照,只不过做了优化,去除了一部分不变的记录而已,通过拉链表可以很方便的还原出拉链时点的客户记录。拉链表通常是对账户信息的历史变动进行处理保留的结果。需求:1. 数据量比较大;2. 表中的部分字段会被update,如用户的地址,产品的描述信息,订单的状态等等;3. 需要查看某一...

2019-03-12 20:27:15 809

原创 累加器(Accumulator)

public class AccumulatorDemo { public static void main(String[]args){ System.setProperty("hadoop.home.dir", "E:\\software\\bigdate\\hadoop-2.6.0-cdh5.15.0\\hadoop-2.6.0-cdh5.15.0"); ...

2019-03-08 12:33:42 2143

原创 json格式数据导入到mysql

JDBCUTIL可能用到的依赖: <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.1.2</version> ...

2019-03-06 17:13:26 9449 6

原创 flume收集数据到kafka

a1.sources = s1a1.channels=c1a1.sinks=k1 a1.sources.s1.type =spooldira1.sources.s1.channels=c1a1.sources.s1.spoolDir=/home/wang/a/flume/logsa1.sources.s1.fileHeader=truea1.channels = c1a1.ch...

2019-03-05 19:37:35 482

原创 SparkStreaming--输出(输出文本 * saveAS&&foreachRDD)

object Output_01 { def main(args: Array[String]): Unit = { System.setProperty("hadoop.home.dir", "E:\\software\\bigdate\\hadoop-2.6.0-cdh5.15.0\\hadoop-2.6.0-cdh5.15.0") val conf= new Sp...

2019-03-05 19:10:36 396

原创 SparkStreaming--输入源(卡夫卡kafka)

object WCKafka extends App{ System.setProperty("hadoop.home.dir", "E:\\software\\bigdate\\hadoop-2.6.0-cdh5.15.0\\hadoop-2.6.0-cdh5.15.0") val conf= new SparkConf(); conf.setMaster("local[...

2019-03-05 19:09:23 264

原创 SparkStreaming--输入源(本地文件)

//输入源object WordCountHDFSSource { def main(args: Array[String]): Unit = { System.setProperty("hadoop.home.dir", "E:\\software\\bigdate\\hadoop-2.6.0-cdh5.15.0\\hadoop-2.6.0-cdh5.15.0") val...

2019-03-05 19:08:32 1061

原创 sparkstreaming--window把多个批次中RDD合并成一个RDD

object WordCountWindows { def main(args: Array[String]): Unit = { System.setProperty("hadoop.home.dir", "E:\\software\\bigdate\\hadoop-2.6.0-cdh5.15.0\\hadoop-2.6.0-cdh5.15.0") val conf= ...

2019-03-05 19:06:41 2101

原创 sparkstreaming--updateStateByKey

//updateStateByKey状态一直持续,即累加之前所有的RDD的结果object WordCountUpdateStateByKey { def main(args: Array[String]): Unit = { System.setProperty("hadoop.home.dir", "E:\\software\\bigdate\\hadoop-2.6.0-cdh...

2019-03-05 19:05:34 125

原创 sparkstreaming--入门

//单词统计流式处理object WordCountStreaming { def main(args: Array[String]): Unit = { System.setProperty("hadoop.home.dir", "E:\\software\\bigdate\\hadoop-2.6.0-cdh5.15.0\\hadoop-2.6.0-cdh5.15.0") ...

2019-03-05 19:04:05 109

原创 sparkstreaming-transform

object Transform { def main(args: Array[String]): Unit = { System.setProperty("hadoop.home.dir", "E:\\software\\bigdate\\hadoop-2.6.0-cdh5.15.0\\hadoop-2.6.0-cdh5.15.0") val conf= new S...

2019-03-05 19:03:05 351

原创 广告黑名单-SparkStreaming

动态过滤,黑名单时刻发生改变,不再是一个固定名单* updatastatabykey* 黑名单中(aa, true) (bb, false) 黑名单动态生成* aa, true 黑名* bb, false 进入黑名单,等待进一步确认***在黑名单 如果外部传递 名字 false 那么就把这个false改成true*cc, false***外部如果传递 dd, true ...

2019-03-05 19:01:18 239

原创 sparksql--hbase

val conf = new SparkConf() conf.setMaster("local") conf.setAppName("patition") val sc = new SparkContext(conf) //hbase val hbaseConf = HBaseConfiguration.create() //设置zooKeeper集群地址,也可以通过...

2019-03-01 19:55:45 123

原创 sparksql--json/parquet/hive/jdbc/rdd结合

/** * json id name t1 * parquet id age t2 * rdd id sex t3 * hive id addr t4 * mysql id hobby t5 * * 通过spark sql 把五个临时表数据关联 * * id name age sex addr hobby * 输出到本地...

2019-03-01 19:55:19 306

原创 sparksql--JDBC

val mapOptitons=Map[String,String]( ("url","jdbc:mysql://wangfutai:3306/hive"), ("user","hive"), ("password","hive"), ("dbtable","apptab") ) //通过sparkSql,

2019-03-01 19:54:35 178

原创 sparksql--hive

//与hive表进行连接: // 1.一种通过conf.set 设置或直接将hive配置hive-site.xml文件拷贝工程 // 2.加载mysql驱动 //从hive中读取数据,驱动不是SQLContext,而是HiveContext val hsc=new HiveContext(sc) //执行hql语句 hsc.sql("select * from hive.perso...

2019-03-01 19:54:07 156

原创 sparksql文件的读写-json和parquet

//1.读取一个json文本val df1= ssc.read.json("E:\\sparkdata\\person.json")//2.读取数据,在format方法中指定类型val df2=ssc.read.format("json").load("E:\\sparkdata\\person.json")val df3=ssc.read.format("parquet").lo...

2019-03-01 19:53:36 556

空空如也

空空如也

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

TA关注的人

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