![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
大数据
文章平均质量分 65
Lens5935
这个作者很懒,什么都没留下…
展开
-
ZooKeeper原理及应用详解(一)
背景: 多节点甚至多地部署,节点之间的数据一致性如何保证? 在并发场景下如何保证任务只被执行一次? 一个节点挂掉不能提供服务时如何被集群知晓并由其他节点接替任务? 存在资源共享时,资源的安全性和互斥性如何保证? 为解决分布式系统中面临的以上的一些挑战,在分布式环境下,需要一个协调机制来解决分布式集群中的问题,使得开发者更专注于应用本身的逻辑而不是关注分布式系统处理,保证分布式系统的数据一致性和容错性等。ZooKeeper是一个分布式的开源协调服务,为分布式...原创 2022-05-02 16:45:21 · 913 阅读 · 0 评论 -
java.net.ConnectException: Connection refused: no further information【已解决】
报错如下:java.net.ConnectException: Call From V_LZ/192.168.53.1 to hadoop2:8020 failed on connection exception: java.net.ConnectException: Connection refused: no further information; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused a.原创 2022-03-13 13:20:36 · 21758 阅读 · 0 评论 -
Sqoop常用导数shell脚本整理(全)
Hive2Oracle#!/bin/sh sqoop export \--table dw result_final \--connect jdbc:oracle:thin:@//10.0.0.1:1521/testdb \-username oracle_user \--password oracle_password \--export-dir /user/hive/warehouse/ads_hive.db/ads_result_final\--columns dt,city,co原创 2022-03-05 17:35:37 · 2296 阅读 · 0 评论 -
MapReduce工作原理图解
Map在读取数据时,先将数据拆分成若干数据,并读取到Map方法中被处理。数据在输出的时候,被分成若干分区并写入内存缓存(buffer)中,内存缓存被数据填充到一定程度会溢出到磁盘并排序,当Map执行完后会将一个机器上输出的临时文件进行归并存入到HDFS中。当Reduce启动时,会启动一个线程去读取Map输出的数据,并写入到启动Reduce机器的内存中,在数据溢出到磁盘时会对数据进行再次排序。当读取数据完成后会将临时文件进行合并,作为Reduce函数的数据源 。HDFS的读流程Client先..原创 2021-11-14 19:01:10 · 1877 阅读 · 0 评论 -
YARN工作流程详解
YARN基本组成:YARN的基本结构由一个ResourceManager与多个NodeManager组成。ResourceManager负责对NodeManager所持有的资源进行统一管理和调度。当在处理一个作业时ResourceManager会在NodeManager所在节点创建一全权负责单个作业运行和监控的程序ApplicationMaster。ResouceManager(简称RM):资源管理器负责整个集群资源的调度,该组件由两部分构成:调度器(Scheduler)和Applica原创 2021-11-14 17:49:14 · 6437 阅读 · 1 评论 -
SparkSQL overwrite插入Hive表数据重复问题
问题描述使用Spark SQL将DataFrame调用其API overwrite写入Hive,如果存在多个任务同时往一张hive表overwrite,那么会导致只有其中一个任务成功,另外其他的任务都失败的问题,并且写入的结果存在同一张表有重复的行链接:https://www.jianshu.com/p/26467e77fa16(7条消息) SparkSQL并发写入orc、parquet表的异常问题排查_u013332124的专栏-CSDN博客...原创 2021-11-07 20:25:23 · 4586 阅读 · 0 评论 -
Sqoop 导出数据 job failed with state Failed due to : task failed问题详解
环境:Sqoop1.4.7- CDH6.3.2原有Hive表statdate date类型Loaddate timpstamp原有目标oracle表Statdate date类型Loaddate varchar(20)出现问题:测试过程:原以为sqoop脚本或者数据库账号密码的问题,测试hive string类型数据导出至oracle varchar类型,成功。经百度,分割符,null 空值处理都没有问题;猜测可能是数据长度的问题,查验数据,没有too...原创 2021-10-28 11:10:25 · 3608 阅读 · 0 评论 -
Redis安装与介绍(详解)
Redis官网:https://redis.ioRedis简介REmote DIctionary Server(Redis) 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。Redis通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。Redis编译安原创 2021-07-22 16:19:41 · 186 阅读 · 0 评论 -
大数据算法-蓄水池抽样算法(Reservoir Sampling)
背景:给定一个数据流,数据流长度N很大,且N直到处理完所有数据之前都不可知,从 N 个样本中随机选择 K 个样本,其中 N 非常大(以至于 N 个样本不能同时放入内存)或者 N 是一个未知数,请问如何在只遍历一遍数据(O(N))的情况下,能够随机选取出k个不重复的数据:数据流长度N很大且不可知,所以不能一次性存入内存。 时间复杂度为O(N)。 随机选取k个数,每个数被选中的概率为k/N。思路:假设数据序列的规模为n,需要采样的数量的为k。首先构建一个可容纳k个元素的数组,将序...原创 2021-07-22 10:57:06 · 335 阅读 · 0 评论 -
MapReduce工作流程
MapTask工作机制Read阶段MapTask通过用户编写的RecordReader,从输入InputSplit中解析出一个个key/valueMap阶段该节点主要是将解析出的key/value交给用户编写map()函数处理,并产生一系列新的key/valueCollect收集阶段在用户编写map()函数中,当数据处理完成后,一般会调用OutputCollector.collect()输出结果。在该函数内部,它会将生成key/value分区(调用Partitione...原创 2021-06-29 15:48:16 · 1107 阅读 · 0 评论 -
HDFS读写数据流程(详解)
HDFS写数据流程客户端通过DistributedFileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。 NameNode返回是否可以上传。 客户端请求第一个Block上传到哪几个DataNode服务器上。 NameNode返回3个DataNode节点,分别为DN1,DN2,DN3。 客户端通过FSDataOutputStream模块请求DN1上传数据,DN1收到请求会继续调用DN2,然后DN2调用DN3,将这个通信管道建立完成。原创 2021-06-28 15:20:21 · 1852 阅读 · 0 评论 -
Spark开发避免GroupByKey
spark是基于内存计算,速度是很快,但是没有很好的使用算子,也可能发挥不出它应该有的速度 val text = sc.textFile("README.md") val textPairsRDD = text.flatMap(_.split(" ")).map((_,1)) textPairsRDD.take(10) //res2: Array[(String, Int)] = Array((#,1), (Apache,1), (Spark,1), ...原创 2021-06-21 15:52:41 · 136 阅读 · 0 评论 -
IDEA maven开发hive的udf详细过程(附图片详解)
1.创建maven项目file->new->project原创 2021-06-18 15:24:55 · 3472 阅读 · 4 评论 -
spark.createDataFrame()报错Can not merge type
问题:spark_df = spark.createDataFrame(df)pandas df 转换为spark df 时报错如下:TypeError: field id: Can not merge type <class 'pyspark.sql.types.StringType'> and <class 'pyspark.sql.types.LongType'>原因:并不是数据类型不匹配,而是数据中存在空值,将空值进行替换后成功创建。解决办法:.原创 2021-04-12 17:15:32 · 7890 阅读 · 2 评论 -
hadoop fsck命令详解
hadoopfsck用这个命令可以检查文件系统的健康状况。Usage:DFSck <path> [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]]<path>检查这个目录中的文件是否完整-move破损的文件移至/lost+found目录-delete...原创 2021-03-19 10:39:51 · 665 阅读 · 0 评论 -
Centos7环境下Azkaban 3安装教程(含源码编译)
Azkaban是一种类似于Oozie的工作流控制引擎,可以用来解决多个Hadoop(或Spark等)离线计算任务之间的依赖关系问题。也可以用其代替crontab来对周期性任务进行调度,并且更为直观,可靠,同时提供了美观的可视化管理界面。原理架构: MySQL实例:Azkaban使用MySQL来存储项目执行流状态。 Azkaban Web服务器:Azkaban使用Jetty作为Web服务器,作为控制器管理整个Azkaban工作流系统,负责用户登录认证,project管理、定时执行工作流、跟原创 2021-03-04 15:48:32 · 390 阅读 · 2 评论