- 博客(118)
- 资源 (10)
- 收藏
- 关注
转载 jstorm部署《转》
JStorm是一个类似Hadoop MapReduce的系统,不同的是JStorm是一套基于流水线的消息处理机制,是阿里基于Storm优化的版本,和Storm一样是一个分布式实时计算的系统,从开发角度来说,JStorm所有的概念和Storm都相同,所有的编程代码一行不用改也可以直接放到JStorm运行,也可以做一些优化,JStorm比Storm更稳定、更强大、更快,去掉了很多耗费资源的代码,在...
2018-06-08 17:28:36
433
1
转载 Spark取出(Key,Value)型数据中Value值为前n条数据
最近在使用Spark进行一些日志分析,需要对日志中的一些(key,value)型数据进行排序,并取出value最多的10条数据。经过查找资料,发现Spark中的top()函数可以取出排名前n的元素,以及sortBy()函数可以对(key,value)数据根据value进行排序,原以为一切都很好解决,但是实际情况并没有得到想要的结果数据,研究了部分源码,才最终达到了想要的数据,特在此备注和分享。
2018-01-12 09:52:25
845
转载 Spark - ERROR Executor: java.lang.OutOfMemoryError: unable to create new native thread
如果你的Spark程序在执行过程中报出如下类似的错误:ERROR Executor: Exception in task xxx in stage xxxjava.lang.OutOfMemoryError: unable to create new native thread那么可能性非常大的原因是你当前通过spark-submit或spark-sql启动的程序中开启了过多的进程
2017-11-06 16:17:06
2282
转载 Hive中的数据倾斜
Hive中的数据倾斜hive1. 什么是数据倾斜mapreduce中,相同key的value都给一个reduce,如果个别key的数据过多,而其他key的较少,就会出现数据倾斜。通俗的说,就是我们在处理的时候数据分布的不均,导致了数据大量集中在某一点。造成了数据的热点。其实在mapreduce分析的时候最怕的就是数据倾斜,通常会出现下面的情况:m
2017-05-11 17:39:34
468
转载 如何每日增量加载数据到Hive分区表
如何每日增量加载数据到Hive分区表hadoophiveshellcrontab加载数据数据加载到Hive分区表(两个分区,日期(20160316)和小时(10))中每日加载前一天的日志文件数据到表db_track.track_log1. 数据存储数据日志文件,放入某个目录下,每天日志文件放入同一个目录eg: 20
2017-05-11 16:26:38
2543
转载 Hive的三种Join方式
Hive的三种Join方式Hive的三种Join方式hiveHive中就是把Map,Reduce的Join拿过来,通过SQL来表示。参考链接:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+JoinsCommon/Shuffle/Reduce Jo
2017-05-11 16:23:21
713
转载 Spark join问题
本篇文章是关于我在学习Spark过程中遇到的一些问题及总结,分为Spark优化、RDD join问题、遇到的问题、总结、参考资料几个部分。 一:Spark优化 1、设置序列化器为KryoSerializer Spark默认使用的是Java序列化机制,但是Spark也支持使用Kryo序列化库,Kryo序列化机制比Java序列化机制性能高10倍左右 2、压缩机
2017-05-10 16:42:56
3566
转载 spark mapPartition方法与map方法的区别 以及 join的用法
http://wanshi.iteye.com/blog/2183906 rdd的mapPartitions是map的一个变种,它们都可进行分区的并行处理。 两者的主要区别是调用的粒度不一样:map的输入变换函数是应用于RDD中每个元素,而mapPartitions的输入函数是应用于每个分区。 假设一个rdd有10个元素,分成3个分区。如果使用map方法,m
2017-05-09 16:09:44
799
转载 hive改表结构的两个坑
坑一:改变字段类型后更新数据不成功 关于Hive插入数据的一个小坑,今天插入一个表中数据,插入时写的是常数,比如0.01 ,表中的字段也是DECIMAL(5,2) 按照常理插入的应该是0.01,但是插入后查询是0,为甚! 就分析呀,看语句没问题啊,上网查,上hive官网查,呀~ 发现了原因哦 https://cwiki.apache.or
2017-05-05 10:29:04
739
转载 locate、find命令使用总结
一、简介 在linux系统中存在"一切皆文件"的说法,这就足以说明文件的重要性,因此查找文件也是我们必须要掌握的技能。这时候熟练使用locate、find命令也就显得至关重要。尤其是find命令常用于日常工作中如安装完某个软件之后要查看这些软件的安装配置路径,或是需要按指定条件直接查找我们需要操作的文件。因此更需要熟练掌握此命令。二、用法详解locate:模糊查找命令,查找的是li
2017-04-20 16:52:07
4049
转载 Spark Shuffle FetchFailedException解决方案
在大规模数据处理中,这是个比较常见的错误。报错提示SparkSQL shuffle操作带来的报错org.apache.spark.shuffle.MetadataFetchFailedException: Missing an output location for shuffle 01212org.apache.spark.shuffle.FetchFailedEx
2017-04-11 09:41:04
1052
转载 使用基于Apache Spark的随机森林方法预测贷款风险
原文:Predicting Loan Credit Risk using Apache Spark Machine Learning Random Forests 作者:Carol McDonald,MapR解决方案架构师 翻译:KK4SBB 责编:周建丁(zhoujd@youkuaiyun.com)在本文中,我将向大家介绍如何使用Apache Spark的Spark.
2017-03-21 18:39:13
589
原创 数据导入hive出现的问题记录
问题一:【解决】Hive动态增加partitions不能超过100的问题,全量动态生成partitions超过100会出现如下异常:[plain] view plain copyThe maximum number of dynamic partitions is controlled by hive.exec.max.dynamic.p
2017-03-02 09:27:34
661
原创 shell循环日期
1. touch test.sh2.[java] view plain copy #!/bin/sh startdate=`date -d "$1" +%Y-%m-%d` enddate=`date -d "$2" +%Y-%m-%d` while [[ $startdate do ec
2017-02-27 11:46:42
1403
转载 hive中order by,sort by, distribute by, cluster by作用以及用法
1. order by Hive中的order by跟传统的sql语言中的order by作用是一样的,会对查询的结果做一次全局排序,所以说,只有hive的sql中制定了order by所有的数据都会到同一个reducer进行处理(不管有多少map,也不管文件有多少的block只会启动一个reducer)。但是对于大量数据这将会消耗很长的时间去执行。 这里跟传统的sql
2017-02-27 11:20:19
308
转载 Spark性能优化:数据倾斜调优
Spark性能优化:数据倾斜调优 继《Spark性能优化:开发调优篇》和《Spark性能优化:资源调优篇》讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。1.数据倾斜调优调优概述 有的时候,我们可
2017-02-15 16:18:25
419
转载 Hbase 统计表行数的3种方式总结
有些时候需要我们去统计某一个Hbase表的行数,由于hbase本身不支持SQL语言,只能通过其他方式实现。可以通过一下几种方式实现hbase表的行数统计工作:1.count命令最直接的方式是在hbase shell中执行count的命令可以统计行数。[html] view plain copyhbase> co
2017-02-06 16:35:58
1493
原创 JAVA设计模式--单例模式
JAVA设计模式--单例模式 单例设计模式Singleton是一种创建型模式,指某个类采用Singleton模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点。核心知识点如下:(1) 将采用单例设计模式的类的构造方法私有化(采用private修饰)。(2) 在其内部产生该类的实例化对象,并将其封装成private static类型。
2017-01-20 11:15:16
217
转载 hive语句优化-通过groupby实现distinct
同事写了个hive的sql语句,执行效率特别慢,跑了一个多小时程序只是map完了,reduce进行到20%。该Hive语句如下:select count(distinct ip) from (select ip as ip from comprehensive.f_client_boot_daily where year="2013" and month="10" uni
2016-12-29 14:16:11
1115
转载 Hive函数大全
一、关系运算:1. 等值比较: = 语法:A=B 操作类型:所有基本类型 描述:如果表达式A与表达式B相等,则为TRUE;否则为FALSE 举例: Hive>select 1 from lxw_dual where 1=1; 12. 不等值比较: 语
2016-12-28 19:18:39
505
转载 朴素贝叶斯算法
朴素贝叶斯(Naive Bayes,以下简称NB)算法是基于概率学习的一种分类方法,朴素贝叶斯利用先验信息来预测将来事件发生的概率。举个例子,就好比古时大夫给病人看病,他需要“望闻问切”,才能对病人的病情做出诊断。这里“望闻问切”是为了获取病人的病情即特征,然后他会对比该病情特征和以往他所见过的病情特征做比较,推断具体病症然后对症下药,这里的推断从某种程度上就用到了贝叶斯算法。好了,下面进入主题,
2016-12-06 16:36:38
740
转载 Linux查找占用的端口,并杀死进程
我要使用4040端口,但是被其他的程序占用了1. 查找占用的程序[html] view plain copy netstat -apn | grep 4040 最后一项显示的是pid和对应的名称2. 杀掉对应的进程,彻底杀死进程[html] view
2016-12-06 16:06:52
2667
1
转载 Spark性能优化总结
近期优化了一个spark流量统计的程序,此程序跑5分钟小数据量日志不到5分钟,但相同的程序跑一天大数据量日志各种失败。经优化,使用160 vcores + 480G memory,一天的日志可在2.5小时内跑完,下面对一些优化的思路方法进行梳理。优化的目标保证大数据量下任务运行成功降低资源消耗提高计算性能三个目标优先级依次递减,首要解决的是程序能够跑通大数据量,资源性能尽量进行
2016-12-02 10:07:41
527
转载 Hadoop学习笔记:MapReduce框架详解
原文出处: 夏天的森林 开始聊mapreduce,mapreduce是hadoop的计算框架,我学hadoop是从hive开始入手,再到hdfs,当我学习hdfs时候,就感觉到hdfs和mapreduce关系的紧密。这个可能是我做技术研究的思路有关,我开始学习某一套技术总是想着这套技术到底能干什么,只有当我真正理解了这套技术解决了什么问题时候,我后续的学习就能逐步的加快,而
2016-12-01 14:44:37
334
转载 spark基本概念
我们知道Spark总是以集群的方式运行的,Standalone的部署方式是集群方式中最为精简的一种(另外的是Mesos和Yarn)。Standalone模式中,资源调度是自己实现的,是MS架构的集群模式,故存在单点故障问题。下面提出几个问题并解决:1、Standalone部署方式下包含哪些节点?由不同级别的三个节点组成,分别是Master主控节点、Worker工作节点、客户端节点;
2016-12-01 14:42:40
276
转载 Spark RDD 核心总结
摘要: 1.RDD的五大属性 1.1 partitions(分区) 1.2 partitioner(分区方法) 1.3 dependencies(依赖关系) 1.4 compute(获取分区迭代列表) 1.5 preferedLocations(距离近的节点列表) 2.RDD实现类举例 2.1 MapPartit
2016-12-01 14:35:16
518
转载 Spark Shuffle原理、Shuffle操作问题解决和参数调优
摘要: 1 shuffle原理 1.1 mapreduce的shuffle原理 1.1.1 map task端操作 1.1.2 reduce task端操作 1.2 spark现在的SortShuffleManager 2 Shuffle操作问题解决 2.1 数据倾斜原理 2.2 数据倾斜问题发现与解决
2016-12-01 14:33:48
5643
转载 Spark的持久化简记
摘要: 1.spark 提供的持久化方法 2.Spark的持久化级别 3.如何选择一种最合适的持久化策略内容:1.spark 提供的持久化方法如果要对一个RDD进行持久化,只要对这个RDD调用cache()和persist()即可。在第二次计算RDD是就不用再重新计算了,从而提高spark作业效率对于persist()方法而言,我们可以根据不同的业务场
2016-12-01 14:31:43
406
转载 Spark算子选择策略
摘要 1.使用reduceByKey/aggregateByKey替代groupByKey 2.使用mapPartitions替代普通map 3.使用foreachPartitions替代foreach 4.使用filter之后进行coalesce操作 5.使用repartitionAndSortWithinPartitions替代repartiti
2016-12-01 14:28:43
662
原创 spark submit参数调优
摘要 1.num-executors 2.executor-memory 3.executor-cores 4.driver-memory 5.spark.default.parallelism 6.spark.storage.memoryFraction 7.spark.shuffle.memoryFraction 8.total-ex
2016-12-01 14:27:23
15851
4
原创 错误汇总
1.zookeeper启动报错错误日志启动zookeeper报错信息如下:[Bash shell] [color=rgb(51, 102, 153) !important]纯文本查看 [color=rgb(51, 102, 153) !important]复制代码[color=white !important][color=white !important]?
2016-12-01 09:26:01
1166
转载 Java并发编程:线程池的使用
Java并发编程:线程池的使用 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?
2016-11-24 10:40:04
251
转载 elasticsearch 口水篇(3)java客户端 - Jest
elasticsearch有丰富的客户端,java客户端有Jest。其原文介绍如下:Jest is a Java HTTP Rest client for ElasticSearch.It is actively developed and tested by Searchly.A sample Java application using Jest can be found on Git
2016-11-23 11:21:52
526
转载 ElasticSearch 常用的查询过滤语句
原文地址:http://www.cnblogs.com/ghj1976/p/5293250.htmlquery 和 filter 的区别请看: http://www.cnblogs.com/ghj1976/p/5292740.html Filter DSL term 过滤term主要用于精确匹配哪些值,比如数字,日期,布尔值或 not_analyz
2016-11-23 11:20:22
1113
转载 Log4J日志配置详解
一、Log4j简介Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置。1、LoggersLoggers组件在此系统中被分为五个级别:DEBUG、INFO、WARN、
2016-11-22 17:20:45
259
转载 hive替换指定字符串的函数
1、转换函数:select cast(substring('2016-06-05 00:00:00.0',1,10) as int);结果---》201606052、替换函数:select cast(substring(regexp_replace('2016-06-05 00:00:00.0', '-', ''),1,8) as int);结果--》2016
2016-11-15 11:23:35
16444
2
转载 hive获取今天、昨天、明天的日期
主题:解决Hive获取今天、昨天、明天的日期的问题注意:由于hive内置函数中,没有提供获取昨天和明天的日期函数,所以需要编写自定义函数去实现1、获取今天时间(格式可以自定义)语句:select from_unixtime(unix_timestamp(),'yyyy-MM-dd HH:mm:ss')返回结果:2016-09-14 16:21:59
2016-11-15 11:19:25
20645
转载 编写hive udf和使用hive udf:hue的hive界面中使用hive udf函数、oozie使用hive udf函数、hive命令行使用udf函数
开发环境:jdk1.7+idea 16+Hive-1.1.0使用udf的生产环境:cdh5.8.0+hive-1.1.01、导入hive的所有相关jar包或者使用maven引入CDH相关包: 1 2 3 4 5 6 7 8 9 10 11 12
2016-11-15 11:14:53
2642
转载 linux查看日志文件内容命令tail、cat、tac、head、echo
linux查看日志文件内容命令tail、cat、tac、head、echotail -f test.log你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C,---------------------------linux 如何显示一个文件的某几行(中间几行)从第3000行开始,显示1000行。即显示3000~3999行cat filename | tai
2016-11-09 16:15:54
1159
转载 Linux中more和less命令用法
一、more命令more功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。1.命令格式:more [-dlfpcsu ] [-nu
2016-11-09 15:06:34
342
文本分类语料库
2016-10-25
Scala编程(完整中文版)
2016-09-06
redis设计与实现(第二版)
2016-09-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人