
hadoop
文章平均质量分 57
鸭梨山大哎
life hard take it easy
展开
-
Parquet文件格式问答
在Parquet文件格式中,行组(Row Group)是一个逻辑单位,用于组织一组行(Record)和多个列(Column)的数据。行组包含了多个列的数据页(Data Page)以及对应的定义页(Definition Page),它们具有相同的行数和行顺序,并且使用相同的压缩算法和编码方式进行压缩。行组的主要作用是将一个大的数据集划分为多个较小的块,以便于处理和存储。通过将数据分组为多个行组,可以提高数据读取和查询的效率,同时也可以降低内存和磁盘的使用量,从而更好地支持大规模数据处理和分析。原创 2023-04-15 11:43:29 · 2963 阅读 · 0 评论 -
HDFS块问答
在Hadoop分布式文件系统(HDFS)中,块(Block)是指将大文件分割为固定大小的数据块后,存储在HDFS集群中的磁盘上的数据单元。HDFS的默认块大小为128MB,但可以通过配置进行修改。HDFS将文件分割为多个块,并将每个块的多个副本存储在HDFS集群中的不同节点上的不同磁盘上。这样做的好处是可以提高数据的可靠性和可用性。当客户端读取文件时,HDFS会自动将每个块的数据从不同的节点和磁盘上读取并组装成完整的文件,并将其返回给客户端。原创 2023-04-15 11:11:44 · 2323 阅读 · 0 评论 -
选举算法入门
这一讲我们来聊聊如何在分布式数据库,乃至一般性的分布式系统内同步数据。不知道你是否发现这样一种事实:同步数据是一种代价非常高昂的操作,如果同步过程中需要所有参与的节点互相进行操作,那么其通信开销会非常巨大。如下图所示,随着参与节点的增加,其通信成本逐步提高,最终一定会导致数据在集群内不一致。尤其在超大型和地理空间上分散的集群网络中,此现象会进一步被放大。为了减少同步通信开销和参与节点的数量,一些算法引入了“领导者”(有时称为协调者),负责协调分布式系统内的数据同步。领导选举通常,分布式系统中所有原创 2021-08-07 08:40:20 · 378 阅读 · 0 评论 -
Spark与MR的区别
速度spark把运算的中间数据存放在内存,迭代计算效率更高;MR的中间结果需要落地,需要保存到磁盘,这样必然会有磁盘IO操作,影响性能容错性spark容错性高,它通过弹性分布式数据集RDD来实现高效容错,RDD是一组分布式的存储在节点内存中的只读性质的数据集,这些集合是弹性的,某一部分丢失或者出错,可以通过整个数据集的计算流程的血缘关系来实现重建;MR的话容错可能只能重新计算了,成本较高适用面spark更加通用,spark提供了transformation和action这两大类的多个功能的api原创 2021-02-03 17:30:42 · 451 阅读 · 0 评论 -
Hadoop Parquet格式入门
是什么一种存储格式Parquet 是一种开源文件格式,可用于 Hadoop 生态系统中的任何项目。与基于行的文件(如 CSV 或 TSV 文件)相比,Apache Parquet 专为高效且性能良好的平面柱存储格式而设计。Parquet 使用record shredding和assembly算法,该算法优于嵌套命名空间的简单拼合。Parquet 经过优化,可批量处理复杂的数据,并采用不同的方式进行高效的数据压缩和编码类型。此方法最适合需要从大型表中读取某些列的查询。Parquet只能读取所需的列,因此原创 2021-02-01 17:47:17 · 1369 阅读 · 0 评论 -
yarn开启Label Scheduler
创建文件夹存储标签[root@mypc01 ~]# hdfs dfs -mkdir -p /yarn/labels[root@mypc01 ~]# hdfs dfs -chmod 700 /yarn配置yarn-site.xml<property> <name>yarn.node-labels.enabled</name> <value>true</value></property><property>原创 2021-02-01 16:17:19 · 297 阅读 · 0 评论 -
Hadoop SequenceFile存储格式入门
SequenceFile本质上是一种二进制文件格式,类似key-value存储,通过map/reducer的input/output format方式生成。文件内容由Header、Record/Block、SYNC标记组成,根据压缩的方式不同,组织结构也不同,主要分为Record组织模式和Block组织模式。参考Hadoop小文件存储方案 - ballwql - 博客园https://www.cnblogs.com/ballwql/p/8944025.html...原创 2021-01-23 17:42:58 · 785 阅读 · 0 评论 -
hdfs合并小文件测试
# 创建测试文件夹hdfs dfs -mkdir /merge# 上传两个文件hdfs dfs -put 1.txt /mergehdfs dfs -put 2.txt /merge# 合并测试,注意合并之前的文件不会被删除hdfs dfs -cat /merge/*.txt | hdfs dfs -appendToFile - /merge/large.txt原创 2021-01-23 17:32:33 · 275 阅读 · 0 评论 -
大数据各组件默认端口
Hadoop:50070:HDFS WEB UI端口8020 : 高可用的HDFS RPC端口9000 : 非高可用的HDFS RPC端口8088 : Yarn 的WEB UI 接口8485 : JournalNode 的RPC端口8019 : ZKFC端口19888:jobhistory WEB UI端口Zookeeper:2181 : 客户端连接zookeeper的端口2888 : zookeeper集群内通讯使用,Leader监听此端口3888 : zookeep原创 2021-01-16 09:50:30 · 229 阅读 · 0 评论 -
org.apache.hadoop.fs.FSInputChecker - Problem opening checksum file
WARN org.apache.hadoop.fs.FSInputChecker - Problem opening checksum file: /common/nlp/data/dictionary/custom/CustomDictionary.txt.bin. Ignoring exception:java.io.EOFExceptionat java.io.DataInputStream.readFully(DataInputStream.java:197)at java.io.Dat原创 2021-01-15 14:46:49 · 381 阅读 · 0 评论 -
hive -e执行命令报错
执行hive -e命令报错hive -e "alter table ods.article add partition (day='20201201') location 'hdfs://mypc01:9000/article/20201201/';"FAILED: Execution Error, return code 1 fromorg.apache.hadoop.hive.ql.exec.DDLTask.MetaException(message:java.io.IOException:原创 2021-01-12 19:02:06 · 962 阅读 · 0 评论 -
from xx is not a valid DFS filename
执行报错 from C:/Users/Xx/AppData/Local/Temp/temporary-d9436146-e83a-4b88-8c5f-a4668bfe6598 is not a valid DFS filename原创 2021-01-02 16:21:33 · 525 阅读 · 0 评论 -
Could not locate executable null\bin\winutils.exe in the Hadoop binaries
windows上执行hadoop程序,报错如下Could not locate executable null\bin\winutils.exe in the Hadoop binaries原来是hadoop的路径设置错了,修正即可// 设置本地环境,第二个参数为hadoop的安装位置 System.setProperty("hadoop.home.dir","D:\\source\\App\\Apachesoft\\hadoop-2.7.6")...原创 2021-01-02 16:14:29 · 1207 阅读 · 0 评论 -
hdfs开机启动流程
第一步:加载name目录下最新的那个fsimage_xxx019文件,将里面存储的元数据(目录树结构)维护到内存中,但是还不是关机前的状态第二步:将关机前的最后使用的edits_inprogress_xxxx0160进行重命名edits_0000000000000000160-0000000000000000169操作,然后生成一个最新的edits_inprogress_xxx170文件,并修改seen_txid里的值为170.将从xxx020~xxx169的这个范围内的所有的edit日志文件加载原创 2020-12-15 14:00:43 · 633 阅读 · 0 评论 -
hdfs心跳机制
hdfs是master/slave结构,master包括namenode和resourcemanager,slave包括datanode和nodemanagermaster启动时会开启一个IPC服务,等待slave连接slave启动后,会主动连接IPC服务,并且每隔3秒链接一次,这个时间是可以调整的,设置heartbeat,这个每隔一段时间连接一次的机制,称为心跳机制。Slave通过心跳给master汇报自己信息,master通过心跳下达命令。Namenode通过心跳得知datanod..原创 2020-12-15 09:10:05 · 2499 阅读 · 0 评论 -
hdfs读写流程
读流程1 客户端向namenode发送请求2 namenode返回文件位置列表和输入流对象3 客户端挑选最近的datanode发送请求,读取第一个block的数据4 客户端计算校验和保存的原始校验和比较5 读到末尾的时候,关闭与此datanode的连接,访问下一个块的datanode6 客户端读取完成,关闭输入流.写流程1 客户端向namenode发出写请求2 namenode检查是否已存在文件,以及是否有写入权限,如果通过检查,直接先将操作写入editlog,并返回输出流对象.3 cl原创 2020-12-15 08:46:01 · 117 阅读 · 0 评论 -
MR Shuffle流程 入门
什么是shuffle?从map方法的输出开始,到作为输入数据传给reduce方法的过程叫做shuffle.shuffle流程是怎样的?map端map方法开始产生输出数据时,并不是简单地将它写到磁盘.每个map任务都会有一个环形内存缓冲区用于存储map的输出数据。在默认情况下,缓冲区的大小为100MB,这个值可以通过mapreduce.task.io.sort.mb属性来调整。一旦缓冲区的内容达到阈值(默认是0.8,或者是80%,属属性是mapreduce.map.sort.spill.percen原创 2020-12-12 15:27:03 · 450 阅读 · 1 评论 -
MR运行流程
MapTask运行流程maptask调用FileInputFormat的getRecordReader读取分片数据 哪个类负责读取txt文本?(TextInputFormat) 分片是哪个谁执行的? InputFormat类的getSplits方法每行数据读取一次,返回一个(K,V)对,K是offset,V是一行数据将k-v对交给MapTask处理每对k-v调用一次map(K,V,context)方法,然后context.write(k,v)写出的数据交给收集器OutputColle原创 2020-12-12 14:50:15 · 1032 阅读 · 0 评论 -
MRAppMaster类
比较复杂,包含很多内部类构造函数大概意思就是需要applicationid和container id之类的public MRAppMaster(ApplicationAttemptId applicationAttemptId, ContainerId containerId, String nmHost, int nmPort, int nmHttpPort, long appSubmitTime) { this(applicationAttemptId, cont原创 2020-11-01 19:22:10 · 568 阅读 · 0 评论 -
hadoop longwritable类
看下定义,继承了WritableComparable接口.这个说明什么呢?public class LongWritableextends Objectimplements org.apache.hadoop.io.WritableComparable<LongWritable>属性就一个 valueprivate long value;然后get set方法,常规操作/** Set the value of this LongWritable. */ public v.原创 2020-10-24 21:11:02 · 2215 阅读 · 1 评论 -
MR map数量
mr map数量等于split数量.所以,split数量如何确定?split数量=文件大小/split size文件大小必然是确定的,问题就是split size如何确定.看源码minSIze,maxsize都k可以自定义的long splitSize = computeSplitSize(blockSize, minSize, maxSize);protected long computeSplitSize(long blockSize, long minSize,原创 2020-10-24 17:55:46 · 680 阅读 · 0 评论 -
MR Job类
它允许用户配置作业,提交作业,控制其执行以及查询状态。 set方法仅在提交作业之前有效,之后它们将抛出IllegalStateException。通常,用户创建应用程序,通过Job描述作业的各个方面,然后提交作业并监视其进度。一个例子 // Create a new Job Job job = Job.getInstance(); job.setJarByClass(MyJob.class); // Specify various job-specific paramete原创 2020-10-24 15:59:54 · 791 阅读 · 0 评论 -
Apache yarn入门介绍
yarn是一款应用资源管理框架.yarn的构成一个ResourceManager和多个NodeManager构成了yarn资源管理框架。他们是yarn启动后长期运行的守护进程,来提供核心服务。ResourceManager(RM)负责管理整个集群的资源分配,内含schedulerNodeManager是每台机器的资源管理者启动和监视container的资源使用情况向RM汇报各个Container的运行状态和节点健康状态,并领取相关的Container的命令执行container集原创 2020-11-01 18:52:04 · 1957 阅读 · 0 评论