![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hadoop、Spark、Hbase...
文章平均质量分 92
haixwang
。。。。。。
展开
-
Spark shuffle调优
一、优化前:shuffle写的比例为输入数据的1.5倍:二、优化后:三、RDD压缩spark.shuffle.compress序列化后,shuffle write仍然较大,考虑压缩sparkConf.set("spark.rdd.compress", "true")四、序列化优化4-1、kyro注册sparkConf.registerKryoClasses(Array(cla...原创 2019-05-31 17:02:02 · 891 阅读 · 0 评论 -
实时机器学习系统调研
文章目录前言难点实时机器学习的分类[^1]对应部分开源技术MahoutSpark mlibStormFlinkML其他,是否实时未知Apache SystemMLMADlibPredictionIO实时推荐系统参考前言我把实时机器学习理解为两种情况:1、 实时出结果:这时使用的依然是离线训练好的模型,静态的模型,只是该模型需要对实时流入的“测试”集做出响应,给出模型的计算结果。很多时候,...原创 2018-09-18 23:37:37 · 3241 阅读 · 0 评论 -
kafka(三): 数据生产流程,数据复制与Replica Failover
数据复制kafka中,每一个partition,有一个leader(所以集群并不是一定只有一个leader,可能有多个leader),其他follower去拉取数据。考虑到数据的一致性,Kafka中,消费者只能读取被commit的数据,因为如果允许消费者读取非commit的数据,考虑消费者1读取机器A中的数据,而该数据只有A和leader中有数据,其他flower还没与pull复制,这个时...原创 2018-09-06 03:46:14 · 510 阅读 · 0 评论 -
kafka(二):测一测各种参数的合适值,性能优化,生产者消费者实战
文章还在进一步整理中。。。写在前面kafka权威指南很久前已经看完了。今天打算根据所学到的知识进行一些基准测试和调优。本篇文章侧重实践+少量源码分析+部分原理分析,更多的原理分析、理解放在下篇文章中 【实战过程中,脑海中冒出了太多的疑惑和想解决的问题,我认为消息中间件 比之前学习的大数据生态的一些组件要复杂些,等校招拿了offer,】。 另外,由于无人指导,文章中的测试或者结论,皆为个...原创 2018-09-04 23:06:50 · 1696 阅读 · 0 评论 -
hive任务,一些map长时间无法结束
多线程同步写ES切分文件在这篇文章中使用代码切割文件,这里尝试使用split命令切分文件。split -l 250000 all_rate.csv 25万行为分界线分割文件import org.elasticsearch.action.bulk.BulkRequestBuilder;import org.elasticsearch.client.transport.Tra...原创 2018-08-20 23:51:17 · 5056 阅读 · 0 评论 -
Elasticsearch数据全量导入HBase,scroll的正确使用姿势,HBase数据到Hive
1、代码相关文章: elasticsearch数据到hive、es-hadoop6.3.0 Hbase Java API简单实践(附源代码解释) 按照惯例,先上代码 (代码还有很多可以优化的地方,待正式工作了,有了更海量的需要处理的数据,更复杂的应用场景,我再回来更新此文。)只贴出Es用scroll方式读取数据以及批量写入HBase的核心代码,其他工具类、方法,比如es、HBase...原创 2018-08-16 22:31:57 · 2825 阅读 · 1 评论 -
elasticsearch数据到hive、es-hadoop6.3.0
同一模块中日志输出到不同文件elasticsearch数据到hive思路1思路2安装ES-hadoop添加jar包到hivees数据导入到hive的最基础设置es数据导入到hive进阶之mapping设置es数据导入到hive进阶之array相关文章参考同一模块中日志输出到不同文件需求:项目的同一个子模块下,已经配置过日志输出,现在...原创 2018-08-06 00:17:44 · 6810 阅读 · 2 评论 -
hive、hbase、mysql数据传输,hive优化实践(一)
此次实践缘由关于实验hive、hbase、mysql数据传输数据集预览数据预处理导入数据到hive创建外部表hive到mysql查看执行计划mysql到Hbase使用较大的数据集,为优化做准备此次实践缘由hive自去年学习后,就一直放着少有使用了,前几天接到面试,说hive这块,让再多学习学习。 所以有了这次实践,复习一把。 主要是想做些优化,...原创 2018-07-30 01:47:34 · 1667 阅读 · 1 评论 -
实时大数据平台技术选型概要
文章目录一、DELETED1-1 业务背景、业务场景、业务模式1-2 数据峰值、需求二、难点2-1 数据孤岛2-2 不同数据的定制化数据抽取方案2-3 数据完整性、安全性2-4 单点故障2-5 其他三、架构(粗略)3-1 架构图总览3-2 数据采集3-2-1 分布式消息队列KafkaRabbitMQRocketMQ几种消息中间件的比较3-2-2 日志收集flume + kafkalogstash ...原创 2018-10-01 16:53:40 · 7450 阅读 · 0 评论 -
宽窄依赖以及shuffle的部分源码理解
注:此文不谈宽窄依赖的概念以及计算失败时恢复的区别【关于这方面的博文,书籍都有不少但几乎雷同的讲解,搜索即可,比如】,仅从源码的角度学习下实现区别,并验证一些说法。搜索Dependency,有以下类: Dependency.scalaDependency/** * :: DeveloperApi :: * Base class for dependencies. *...原创 2018-05-15 23:35:38 · 849 阅读 · 0 评论 -
Spark递归遍历HDFS并筛选文件,Spark集群模式记录自己的调试日志
文章目录一、递归遍历HDFS并筛选文件1-1、对于本地文件系统1-2、对于HDFS文件系统二、Spark集群模式记录自己的调试日志一、递归遍历HDFS并筛选文件1-1、对于本地文件系统 public static boolean logFilter(Path path){ return path.toString().toLowerCase().endsWith(".l...原创 2019-05-17 12:32:51 · 2116 阅读 · 0 评论 -
干货:Spark RDD写入HBase 优化
一、hbase.regionserver.handler.count该配置参数用于定义regionserver上用于等待响应用户表级请求的线程数,通常的配置规则是:当每次请求的数据量较大时(如接近MB的单次put,cache较大的scan操作),设小一些;当每次请求负载较小时,则可把该值配置较大。同时在请求的数据量大小收到参数。如果单个请求的数据量很大,并且将该值配置的很大时,put并...原创 2019-05-09 13:22:51 · 2615 阅读 · 0 评论 -
Bulk Load——Spark 批量导入多列数据到HBase(scala/Java)
一、流程Spark加载HDFS上的数据 ——> 数据清洗 ——> 准备HBase表 ——> 数据量预估,预分裂——> 数据整理为表的格式 ——> 批量写入 ——> 优化此文主要记录后四个步骤未优化时,大概1200万条数据/h (10G数据)二、准备HBase表 val table: HTable = null val tableName ...原创 2019-05-06 17:44:45 · 5498 阅读 · 2 评论 -
【@deprecated】Hadoop3,IDEA远程访问集群进行调试,Scala+Java混合开发
1-1、擦除编码https://hadoop.apache.org/docs/r3.0.3/hadoop-project-dist/hadoop-hdfs/HDFSErasureCoding.html1-2、Hadoop 3 端口号的改变1-3、支持2个以上的NameNodehttps://hadoop.apache.org/docs/r3.0.3/hadoop-project-dist...原创 2019-04-24 18:02:16 · 1940 阅读 · 0 评论 -
Spark Structed Streaming的一些主要特性及与Spark Streaming之间的对比
Spark Streaming众所周知,Spark Streaming中的数据结构是Dstream,是对RDD的进一步的封装。Spark Structed Streaming对比原创 2018-10-20 22:02:32 · 4989 阅读 · 6 评论 -
从examples中学spark(三):ALSExample.scala
学习前理论学习中领悟学习后实操总结参考学习前(理论)最小二乘法(Spark使用的是交叉最小二乘法(ALS)来最优化损失函数——ALS 的目标函数不是凸函数,所以固定一部分参数优化另外一部分参数,从而一般很难求得全局最优解)基于矩阵分解的推荐算法(评分数据集中,并不是每个用户都对每个产品进行过评分,所以这个矩阵往往是很稀疏的【所以更应该多注意过拟合的问题】,...原创 2018-02-23 23:22:48 · 635 阅读 · 0 评论 -
从examples中学Spark(一):BroadcastTest.scala
之前学习都是官网API Doc+社区的博文,最近参考了几篇examples,发觉example+doc才是绝配。 由于集群Spark版本是2.1.1,所以我学习的examples示例是2.1.1版本中的,2.2.0版本中关于ml【也就是DataFrame版的mllib】的examples有不少内容与2.1.1版本不同。 注意:使用ml的一些example还需要导入examples下的scopt_原创 2018-01-04 14:46:03 · 640 阅读 · 0 评论 -
Spark源码之路(二):Master原理剖析与源码分析
一、涉及到的源码列表:Master.scalaWorkerInfo.scalaDriverDescription.scalaRecoveryState.scalaPersistenceEngine.scalaMetricsSystem.scalaApplicationDescription.scalaDeployMessage.scala 等等二、语言叙述(包括截图原创 2018-01-12 13:32:15 · 1664 阅读 · 0 评论 -
Spark源码之路(一):绝对靠谱,Windows下用IDEA搭建源码阅读环境
先贴2张最后成功的图(和以前不build直接导入源码到IDEA有很大不同) 【预告:对Windows Subsystem for Linux感兴趣的,下方提供一篇好文。】总的说,就4步骤:网上很多人直接使用SBT/MAVEN导入源代码,我那样操作之后,IDEA上显示的各种目录不是我预想中的那样(或者说经过比较,我看见经过更多操作的显示出来的更像是对的)。而且在本地执行命令行显然比IDE更“轻”,提示信息也更详原创 2017-11-13 20:31:27 · 1757 阅读 · 0 评论 -
kafka——(一):初识kafka
学习资源安利官网1.1 ~2. Kafka 0.11.0中文文档【收费的】~还是apachecn的靠普李志涛csdnOrdHome kafka中文教程郭俊 Jason的博客知乎的讨论视频资源,csdn搜索吧需求其实了解kafka也有一段时间了,最近可能需要从一个接口获得数据放进HDFS,感觉直接接受接口的数据放进Hive也不是不可以,但是考虑到稳定性可靠性,决定还是用...原创 2018-06-09 22:56:20 · 1791 阅读 · 0 评论 -
TODO集合
从今天开始,我把所有18年起的TODO,都同步到这篇文章。 一方面是方便自己常“回来看看“,记得解决这些疑惑; 另一方面,希望知道/有解决思路的前辈们能留言或者(QQ911283415)指点一二,感激! (序列中所有非链接字体以及【】中的文字,可在文章中搜索定位)九、2018年06月23日:关于Object类一些重要方法的深入理解及重载第一段测试代码中,两个Integer引用未一...原创 2018-06-23 22:23:44 · 352 阅读 · 0 评论 -
HDFS容量究竟来自何处?以及在节点内部“横向”扩容
今天在Ambari web界面中注意到警告: 我去,使用了92%,这还得了?还让不让人学习了?最开始我认为是一前朋友将namenode节点也设置为了datanode节点的原因,导致namenode“压力”大。但是细一看,不对啊,也不可能才52.7GB总容量啊,开玩笑呢。于是乎怀疑Ambari。。。去50070一看: 纳闷了,怎么这么少?然后查看了各个机器的硬盘信息 发现两个原创 2018-01-04 18:36:14 · 1206 阅读 · 3 评论 -
Spark中DataFrame版的相关系数计算——DataFrameStatFunctions,Spark线性回归pipline
很多人还在实用RDD的相关API,为跟上“未来”,咱讨论下DataFrame版的相关API。> 2. 对数组中的数处理为绝对值之后复制一份,对副本进行排序(NaN之前已经被处理为0),每次取复制的数组中的第一个值(前提是大于阈值0.8);在二维数组中找到对应的两个变量记为indexX和indexY> 3. 计算indexX和其他所有变量的相关系数的绝对值之和,记为sumX;同理,对indexY,记为sumY。比较原创 2018-01-03 20:51:25 · 5739 阅读 · 0 评论 -
Spark使用VectorAssembler时:IllegalArgumentException: Data type StringType is not supported
我的处理顺序: 因为我在另外一个scala文件中已经将csv分割为了训练集和测试集,并且为了后续计算各个filed之间的相关系数而把所有filed的类型都已经改为了Double型,所以我就没有考虑我的数据会有问题。 所以我怀疑是文件第一行的列名在搞鬼,然后我就去除了文件的第一行:然后:org.apache.hadoop.fs.ChecksumException: Checksum er原创 2018-01-02 11:41:02 · 5143 阅读 · 6 评论 -
IDEA上Spark——Java、Scala的本地测试版与集群运行版
Java本地测试先放出代码中各类注释代码以及源码地址遇见的问题打包jar到集群测试Scala本地测试源码遇见的问题Scala打包到集群测试源码以及地址遇见的问题参考资源Java本地测试2017/11/131.先放出代码中各类注释(由于初次学习,为方便以后复习或查阅,注释较多。为避免代码太“冗余”故将部分注释分出来。) 注释i )、 每个Spark应用程序都由一个驱动原创 2017-11-23 00:12:23 · 8617 阅读 · 3 评论 -
了解、安装sbt,使用sbt(console、IDEA)以及IDEA中打包spark的jar包
本文测试环境: ● Win10 ● Scala-2.12.3 ● Spark-2.2.0 ● Sbt-1.0.0 ● JDK-1.8 ● IDEA-2017.1.4 ● Git(IDEA下载SBT插件时可能会用到) ● 2017/8/26(文章写完一直忘了发到博客上) 我在配置IDEA+scala&sbt的过程中走了不少弯路,所以记录一下配置原创 2017-11-13 18:31:56 · 11221 阅读 · 0 评论 -
HIVE自定义UDF进行数据清理——IDEA
IDEA自定义UDF并使用- 创建maven项目- pomxml文件- java代码- 导出为jar- 导出带依赖的jar包- 在Hive命令行中执行- 参考IDEA自定义UDF并使用GitHub源码地址- 创建maven项目创建一个maven项目,添加hadoop-client和hive-exec的maven依赖相关依赖查询:http://mvnrepository.com/-原创 2017-10-20 11:32:28 · 2716 阅读 · 0 评论 -
Hbase Java API简单实践(附源代码解释)
详细代码及链接注释标注1标注2标注3标注4运行截图报错及解决过程参考资源详细代码及链接 maven依赖:hbase-client,slf4j-api,slf4j-nop(不需要hbase-server包) resource中加入hdfs-site.xml配置文件(不需要什么core-site.xml和hdfs-site.xml) resource中放置log4j.p原创 2017-10-29 11:31:46 · 1232 阅读 · 0 评论 -
Hive实战:将xml文件处理为txt文件,并用Hive进行微博数据分析
一 -xml文件处理文件简述xml处理代码遇见的问题及解决过程i -nbsp之类的字符无法解析ii -0xc0x11之类的字符无法解析iii -javalangOutOfMemoryError Java heap space二 -写到txtfile工具代码io版三 -Nio版的代码四 -两种版本的效率对比五 -建表加载数据加载数据报错要加载的数据格式与目标表的格式不同查询原创 2017-10-21 14:17:08 · 2511 阅读 · 0 评论 -
HIVE小检验:
一 知识储备1压缩格式2存储格式i常见存储格式ii实际使用时的设置二 综合案列(一) 知识储备 (测试版本为基于Ambari2.5.1的hive1.2.1000)1、压缩格式 执行命令:set io.compression.codecs;查看目前hive已加载的编解码器 GzipCodec:压缩后的文件不支持split,压缩后为.gz文件 DefaultCodec:压原创 2017-10-17 14:27:15 · 503 阅读 · 0 评论 -
从examples中学spark(二):ModelSelectionViaCrossValidationExample.scala以及模型保存
学习前(理论)最小二乘法、岭回归、Lasso等学习中(领悟)1.首先是一段包导入,跳过import org.apache.log4j.{Level, Logger}import org.apache.spark.ml.Pipelineimport org.apache.spark.ml.classification.LogisticRegressionimport or原创 2018-01-06 21:36:40 · 1073 阅读 · 0 评论 -
HBase原理–所有Region切分的细节都在这里了
转载自:http://developer.51cto.com/art/201708/549419.htm———————————————————- HBase系统中Region自动切分是如何实现的?这里面涉及很多知识点,比如Region切分的触发条件是什么?Region切分的切分点在哪里?如何切分才能最大的保证Region的可用...转载 2018-03-11 11:56:28 · 3806 阅读 · 0 评论 -
Spark进行一些控制、行动操作练习,并查阅源码加深理解
1.数据来源于搜狗实验室 数据为2006年8月份的日志数据,724MB2.大致查看下包内文件 tar -ztf SogouQ.tar.gzroot@host1:/usr/wh# tar -ztf SogouQ.tar.gzSogouQ/SogouQ/access_log.20060801.decode.filterSogouQ/access_log.20060802.deco...原创 2018-05-12 16:10:13 · 471 阅读 · 0 评论 -
CDH安装Oozie/Hue,以及其基本使用
安装Oozie:关于Oozie安装Hue关于HueHue的入门级使用参考安装Oozie:1.登录数据库后: create database oozie default character set utf8; grant all privileges on oozie.* to ‘oozie’@’localhost’ identified b...原创 2018-05-11 20:01:31 · 6849 阅读 · 0 评论 -
windows远程提交Spark作业到linux集群,并尝试多种模式运行
本地构建java+scala混合工程:测试使用本地win10做driverjava远程提交代码到集群sparkContext版本sparkSession版本scala远程提交代码到集群sparkContext版本sparkSession版本本地构建java+scala混合工程:创建maven项目,选择scala-archetype-simp...原创 2018-05-10 12:51:46 · 2911 阅读 · 1 评论 -
虚拟机\物理机上5台服务器cloudrea manager5.12大数据平台搭建(持续更新)
前言操作步骤VirtualBox5.2.8CentOS6.9节点网络配置ssh配置cloudera以及JDK以及Mysql版本选择【必读】其他注意事项JDK安装mysql5.7安装防火墙正题CDH集群安装其他虚拟机扩容TODO参考前言 全文共1.4w字(仅安装整个大数据平台,关于cdh manager管理,会单独记录)。相比...原创 2018-03-31 22:35:07 · 2242 阅读 · 0 评论 -
大数据安全之kerberos+ldap身份验证(理论篇)
大数据安全1、限制只有合法用户身份的用户访问大数据平台集群 (1) 用户身份认证:外部用户或者第三方服务对集群的访问过程中的身份鉴别;用户在访问启用了安全认证的集群时,必须能通过安全认证。 (2)网络隔离:大数据平台集群支持通过网络平面隔离的方式保证网络安全(比如配置防火墙)。2、定义什么样的用户和应用可以访问数据 权限控制:包括鉴权、授信管理,即确保用户对平台、接口、操作、资源、数...原创 2018-04-15 21:52:50 · 7805 阅读 · 0 评论 -
Spark DataFrame sql使用记录(持续更新)
以前用sql操作DataFrame时,大都在代码上注释。注释太多会乱,并且时间久了后就算看注释,也没多大“兴趣”。这里记录每一次新遇见的需求,以及代码。Spark-shell中使用2018/4/12 - export SPARK_MAJOR_VERSION=2【ambari中装有两个版本的spark】 - import org.apache.spark.sql.SparkSessi...原创 2018-04-13 18:12:59 · 1825 阅读 · 2 评论 -
Spark RDD的默认分区数:(spark 2.1.0)
文章转载自:简书-我是亮哥:本文基于Spark 2.1.0版本新手首先要明白几个配置:spark.default.parallelism:(默认的并发数)如果配置文件spark-default.conf中没有显示的配置,则按照如下规则取值:1.本地模式 (不会启动executor,由SparkSubmit进程生成指定数量的线程数来并发): spark-shell...转载 2018-03-06 14:53:05 · 4177 阅读 · 0 评论 -
HBase读写流程
读流程读流程概览详细叙述写流程写流程概览详细叙述参考读流程:读流程概览: 1.首先,客户端需要获知其想要读取的信息的Region的位置,这个时候,Client访问hbase上数据时并不需要Hmaster参与(HMaster仅仅维护着table和Region的元数据信息,负载很低),只需要访问zookeeper,从meta表获取相应region信息(地址和端口等)。【Client请求Z原创 2018-03-11 21:02:41 · 6512 阅读 · 3 评论