
大数据
庐州小白
这个作者很懒,什么都没留下…
展开
-
Spark的任务调度流程
Client 提交应用,Master节点启动DriverDriver向Cluster Manager申请资源,并构建Application的运行环境,即启动SparkContextSparkContext向ClusterManager申请Executor资源,Worker会先实例化ExecutorRunner对象,在ExecutorRunner启动中会创建进程生成器ProcessBuilder,然后由该生成器创建CoarseGrainedExecutorBackend对象。Spark应..原创 2020-06-16 18:48:36 · 477 阅读 · 0 评论 -
Spark容错
容错、HA(高可用)与灾备参考自点这里容错(fault tolerance)指的是, 发生故障时,系统还能继续运行。 飞机有四个引擎,如果一个引擎坏了,剩下三个引擎,还能继续飞,这就是"容错"。同样的,汽车的一个轮子扎破了,剩下三个轮子,也还是勉强能行驶。 容错的目的是,发生故障时,系统的运行水平可能有所下降,但是依然可用,不会完全失败。高可用(high availability)指的是, 系统能够比正常时间更久地保持一定的运行水平。 汽车的备胎就是一个高可用的例子。如果没有备胎,轮胎坏了原创 2020-06-16 15:37:31 · 379 阅读 · 0 评论 -
Spark SQL的UDF
UDF(User Defined Function):spark SQL中用户自定义函数,用法和spark SQL中的内置函数类似;是saprk SQL中内置函数无法满足要求,用户根据业务需求自定义的函数。 因为目前Spark SQL本身支持的函数有限,一些常用的函数都没有,比如len, concat…etc 但是使用UDF来自己实现根据业务需要的功能是非常方便的。Spark SQL UDF其实是一个Scala函数,被catalyst封装成一个Expression结点,最后通过eval方法计根据当前Ro原创 2020-06-16 09:33:45 · 315 阅读 · 0 评论 -
HDFS存储报错:org.apache.hadoop.security.AccessControlException: Permission denied: user=............
我在本地利用WSL配置Hadoop环境,windows下用Spark往HDFS中写入数据,报了没有权限的错误。这个问题,网上答案有很多:(1)就是修改系统变量。在hdfs.xml文件中,修改dfs.permissions为false。这样HDFS就不会进行权限检查。(2)是在Linux中增加supergroup组用户,以本地(一般是idea)报错中的user=???的用户名,在linux中创建用户,并给予超级权限。这里贴一个连接上述两种方案的具体实现。但是这两种方案的弊端也很明显,对于.原创 2020-06-03 20:10:17 · 576 阅读 · 0 评论 -
Spark读取csv文件
通过SparkSession读取csv文件时,可以通过option方法来自动识别csv文件的标题,推断数据类型def main(args: Array[String]): Unit = { Logger.getLogger("org").setLevel(Level.WARN) val spark = SparkSession.builder().appName("Spark Sql 2.x 5") .master("local") .getOrCreate原创 2020-06-03 16:57:41 · 1720 阅读 · 0 评论 -
java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hbase.util.ByteStringer
java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hbase.util.ByteStringerjava.lang.NoClassDefFoundError: com/google/protobuf/LiteralByteString在与HBase数据库交互的时候,可能会出现上述两种错误。查询Maven依赖,会发现出现了Jar包冲突。解决办法:(试错)看到这个错误,我的第一反..原创 2020-05-26 22:02:00 · 2669 阅读 · 0 评论 -
大数据基础知识总结
1.什么是大数据 ?维基百科对于大数据给出了一个定性的描述:大数据是指无法使用传统和常用的软件技术和工具在一定时间内完成获取、管理和处理的数据集。从技术特点来看,大数据满足5V模型:大体量(Volume)、多样性(Variety)、时效性(Velocity)、准确性(Veracity)、大价值(Value)。2.大数据的类型以及计算特征。1.从数据结构特征角度:大数据可分为结构化数据(表...原创 2020-01-13 22:12:14 · 3283 阅读 · 0 评论 -
MapReduce求最大、最小以及均值
Part 1 最大值这里我们想做的是从文本数据中获取年份和温度的数据,并计算出每个年份的温度的最大值。与一般的java程序类似,要求最大值则需要作比较。思路简单,主要是如何设计Map和Reduce部分。一般想法:Map阶段做拆分,从初始数据得到得到数值;Reduce阶段做比较,最大值比较方案很多,这里列出一个:int max_value = Integer.MIN_VALUE;for (i...原创 2019-12-31 15:12:13 · 3560 阅读 · 0 评论 -
Spark启动报错ClassNotFound
spark启动时,报错如下:进入spark/conf/目录下,修改spark-env.sh文件:添加:export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)要到bin/hadoop那一层。...原创 2019-12-23 21:34:04 · 928 阅读 · 0 评论 -
MapReduce实现矩阵乘法
矩阵运算是程序运行过程中非常耗时的部分,因而也出现了许多针矩阵计算的优化方法,尤其是矩阵乘法,对于MitM_{it}Mit和NtkN_{tk}Ntk,其相乘的复杂度是O(i×k)O(i \times k)O(i×k)。熟悉矩阵运算的人都应知道,结果矩阵PPP中的任意元素pikp_{ik}pik和M、NM、NM、N中的第iii行、kkk列均有关。pik=(M×N)ik=∑jmijnjkp_...原创 2019-10-19 17:33:15 · 2047 阅读 · 2 评论 -
MapReduce简介
概要MapReduce是处理和生成大数据集合的编程模型和相关实现。用户可以通过使用特定的Map和Reduce函数来完成对键值对**<key, value>**的处理。Map函数主要是用于对处理键值对进行处理,生成中间键值对。Reduce函数主要用户依据中间键(intermediate key),来完成对中间值的归并(merge all intermediate values)。M...原创 2019-10-16 18:32:59 · 858 阅读 · 0 评论 -
理解WordCount
Apache Hadoop使用JAVA语言编程,对于使用java语言的程序员来说,这很友好。一般而言,一个hadoop程序主要分为两个部分:Map和Reduce。我们可以观察一下其执行流:Map →\to→ Combiner →\to→ Sort →\to→ Partitioner →\to→ Reduce下面我们以一个例子来阐述wordcount的执行流如何发生。假设一个输入文本如下:...原创 2019-10-12 21:59:56 · 2676 阅读 · 0 评论 -
Windows下配置spark环境(IDEA和Pycharm)
事前准备配置spark之前需要在windows下配置好Hadoop.可以参考此教程: Windows下安装Hadoop。首先在官网下载包含hadoop的spark二进制包。尽量选择和已经配置好的hadoop版本相同或者相近的。此时需要注意,一般官网会给出这个版本的spark和哪一版本的scala语言相适配。依据官网给出的提示,去scala官网下载相对应的scala版本,安装并配置环境变量。之...原创 2019-09-27 21:18:11 · 442 阅读 · 0 评论 -
Windows下配置Hadoop(配置IDEA,不适用Maven)
Hadoop MapReduce是Google MapReduce的一个开源实现。它利用简单的原理,实现了快速批量处理大数据的能力。Map, Reduce是MapReduce开源框架的两个重要过程。在Map阶段,服务器结点接收数据,做拆分,Reduce阶段,服务器结点接收拆分数据做处理。整个流水线过程,实现了快速处理大数据的目的。Hadoop作为MapReduce的一个开源实现,自然受到了热捧,...原创 2019-09-27 20:42:59 · 439 阅读 · 0 评论 -
运行spark,提示无法连接服务器。
安装without-hadoop-spark时,启动spark,运行相关程序,可能会报错:启动hdfs即可。原创 2019-09-18 12:33:59 · 3549 阅读 · 0 评论 -
centos下hadoop安装
系统:Centos单机Hadoop系统安装。首先需要安装JDK,建议不使用openJDK,网上教程很多,这里贴出一个个人觉得挺好的一个。建议记住java的安装地址,方便后面配置环境变量。OpenJDK的卸载以及OracleJDK的安装之后配置SSH,可能会出现ssh失效的情况。就个人使用经验而言,Ubutun下出现配置成功,一段时间后仍然需要输入密码的情况。但是CentOs下目前没...原创 2019-01-15 13:21:21 · 419 阅读 · 0 评论