![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算与存储引擎
文章平均质量分 71
quick刀斩乱麻
follow for more
展开
-
Yarn的运行流程
MapReduce程序提交Yarn流程: 不同计算引擎在Yarn上的应用主节点,应用进程和任务运行方式:原创 2022-06-06 20:10:30 · 1082 阅读 · 0 评论 -
MapReduce流程及调优
根据输入,形成切片,并行运行MapTask。(MapTask并行度由切片数决定,每个切片对应一个MapTask)map()函数处理后得到的键值对在写入环形缓冲区前,需要先进行分区操作。(MR默认提供的分区类是HashPartitioner,可以通过继承Partitioner类并重新getPartition()方法来自定义分区)分区数应该和ReduceTask数量一致。(可以通过job.setNumReduceTasks()设置,不设置的话默认只有一个ReduceTask,最终产生一个分区)每个MapTask原创 2022-06-03 21:21:25 · 185 阅读 · 0 评论 -
Linux的IO
操作系统的IO分为:网络IO、磁盘IO、内存IO等,我们通常考虑的是网络IO和磁盘IO。网络IO网络IO本质是socket读取sendfile普通的网络传输步骤是:操作系统将数据从磁盘复制到操作系统内核的页缓存中,应用将数据从内核缓存复制到应用缓存中,然后应用将数据写回内核的Socket缓存中,最后操作系统将数据从Socket缓存区复制到网卡缓存,然后将其通过网络发出。而通过sendfile磁盘IO磁盘IO的访问方式如下:缓存IO(标准IO)大多数文件系统的IO操作默原创 2022-02-03 20:23:37 · 880 阅读 · 0 评论 -
谈谈谈zookeeper
数据结构和存储 ZK采用树形结构,这棵树由节点组成,每个节点称为ZNode。ZNode引用方式是路径引用,比如/app1/p1,这样的层级结构让每个ZNode都有唯一的路径。每个ZNode兼具文件和目录的特点,既像文件一样维护着数据、元信息、ACL等数据结构,又像目录一样可以作为路径标识的一部分。每个ZNode节点由4部分组成:data:存储数据信息。 stat: ZNode的元数据,比如事务ID,时间戳,版本号,大小等。 ACL:记录ZNode的访问权限,那些可以访问该节点。 c...原创 2021-11-18 18:10:47 · 1211 阅读 · 0 评论 -
Kafka的Controller
选举controller的选举依赖于ZK,在Kafka集群启动的时候,会在ZK中创建一个临时节点/controller,每个broker启动时(broker 启动过程中会启动 controller 服务,其中涉及监听 ZK节点/controller的数据变化和选举逻辑等),都会先去访问ZK中的这个节点;如果不存在broker就会去创建这个节点,先到先得成为controller。[zk: localhost:2181(CONNECTED) 3] get /controller{"version原创 2021-11-18 17:56:25 · 1159 阅读 · 0 评论 -
Yarn的资源管理
FIFO/容量/公平 调度器原创 2022-06-06 19:09:03 · 413 阅读 · 0 评论 -
Hadoop的安全问题
Hadoop的RPC实现支持SASL,SASL除了支持身份认证外,还提供了可选的信息完整性和信息加密。 SASL(Simple Authentication and Security Layer)是网络协议中使用的认证层。SASL并不是一种协议,而是一种认证、数据完整性校验和加密的机制的框架。plain和digest-md5(较常用)。...原创 2021-09-26 17:33:26 · 648 阅读 · 0 评论 -
Hive-高级操作
复杂数据类型array, map, struct...访问复杂数据类型:array[n], map[key], struct.xBuilt-in Functionsconcat_ws():连接字符串,需要制定分隔符(concat with separator)get_json_object():$: Root object; .: Child operatorBuilt-in Aggregate Functions (UDAF)collect_set():将某字段的...原创 2021-02-25 14:17:09 · 566 阅读 · 0 评论 -
Hive-排序与窗口函数
order by:全局排序,一个reducer默认升序ASC 可以按别名/多个列排序sort by:每个reducer内部排序, 随机/均匀地分给多个reducers,防止数据倾斜set mapreduce.job.reduces= ;distribute by: 分区排序,分配多个reducer进行处理(结合sort by使用,写在sort by之前,意为先分区再排序) distribute by 和 sort by 字段相同时可以使用cluster by,但此时排序只能是...原创 2020-09-04 18:20:48 · 273 阅读 · 0 评论 -
python的分布式计算框架
ray作为分布式系统,ray遵循了典型的Master-Slave设计,Master负责全局协调和状态维护,Slave执行分布式计算任务关键组件Global Scheduler:Global Control State:Object Store:Worker:主要API启动:ray.init() 该方法可以加参数,如num_cpus等远程函数:put和get:用作python对象和对象ID之间的转换任务依赖:Actors:ray.wait():da.原创 2021-04-10 14:41:12 · 516 阅读 · 0 评论 -
Spark的Azure Databricks
Azure Databricks is a data analytics platform optimized for the Microsoft Azure cloud services platform. It offers two environments:Azure Databricks SQL Analytics: itprovides an easy-to-use platform for analysts who want to run SQL queries on their data.原创 2021-02-20 18:18:47 · 261 阅读 · 0 评论 -
Spark的基础知识
与Hadoop中的MapReduce模型差异MapReduce:磁盘IO开销大 Map/Reduce表达能力有限 延迟高: 磁盘读写延迟;Map/Reduce分阶段执行导致的延迟 不利于迭代式Spark:内存计算(也不是完全在内存,比如shuffle) 比Map/Reduce更多的操作模式 基于DAG的调度机制,优化RDD:分区数量可动态变化(数据集可大可小) 可分布式地储存在多台机器的内存中DAG:反应RDD间的依赖关系exector:application.原创 2021-02-19 23:14:18 · 368 阅读 · 1 评论 -
Spark的pySpark
PySparkSparkContext:RDD:spark中提供了两个机器学习库mllib和ml,mllib的操作是基于RDD的,而ml则是基于DataFrame原创 2020-09-27 19:16:43 · 200 阅读 · 0 评论 -
Airflow
airflow 是一个使用python语言编写的data pipeline管理、调度和监控工作流的平台DAG:多个task的集合,定义了这些task间的执行顺序和依赖关系。 定义在python文件中,airflow会执行每一个文件,动态构建出DAG对象,每一个DAG对应一个workflow。在airflow动态构建过程中,发现DAG满足触发条件,则生产当前execution date的DAG运行实例(DAG RUN)task和opeartor:task是operator的一个实例..原创 2020-09-04 18:50:24 · 242 阅读 · 0 评论 -
Druid
高性能实时分析型数据系统特点:列式存储:在一个特定的数据查询中它只需要查询特定的列,从而提高了部分列查询场景的性能(如OLAP中通常的维度列+指标列。另外,每一列数据都针对特定数据类型做了优化存储 (不同的压缩和编码方式/不同类型的索引),从而支持快速的扫描和聚合 可扩展的分布式系统;自修复、自平衡、便于集群伸缩和运维 实时或批量摄取 摄取时自动聚合(预计算/roll-up):在数据摄取阶段可选地进行数据汇总,预先聚合数据,从而节省成本并提高性能数据格式:(即datasource的结构: .原创 2020-09-03 16:21:32 · 121 阅读 · 0 评论