Spark 注册数据源

总结:

  • DataSourceRegister 的注册方式,以及自定义 XXRelationProvider 是怎么被 Spark 发现和加载的
  • DataSource 的查找过程,以及 DataFrameReaderDataFrameWriter 在读写路径里的角色
  • 顺手补到 CheckpointRDDPartitionReliableCheckpointRDDSparkSession 内部的 SparkContextsharedStateSQLContextRuntimeConfig

阅读全文

Spark Core相关-1

SparkContext、存储体系、RPC、Web-UI。 存储体系,BlockManager和BlockManagerMaster、MemoryManager、MemoryStore、DiskBlockManager、DiskStore。监控体系:MapOutputTracker、MapOutputTrackerMaster、MapOutputTrackerWorker。 Web-UI体系:对应的层级结构为: SparkUI -> WebUITab -> WebUIPage。执行环境:安全体系(SecurityManager、用于设置 yarn,hadoop 的 secret key);SparkContext 会附带初始化:Metrics 体系、Listener、SparkUI、RPC 整套体系、BlockManager,storage 体系、Executor 体系、Heartbeater、KVStore、SerializerManager,还有度量类、日志体系。 PRC 体系:MessageLoop 中维护了 Inbox 的链表、每个Inbox 中为了 InboxMessage 的链表,InboxMessage包含很多实现类,如 HeartbeatReceiver ,包括了 receiveAndReply。RPC中用到了 netty的通讯体系,根据发送地址,选择对应的 Outbox,每个 Outbox维护一个 OutboxMessage的链表,再通过netty 的 NettyChannel 发送出去
+13

阅读全文

ozone

ozone的三个角色Ozone Manager (OM),Storage Container Manager (SCM),DataNode,三个角色的具体存储内容,datanode中数据存储在 container中,按照offset保存数据的位置,recon 提供管理界面,ozone mager和 SCM 的高可用:使用 rocksdb + raft 实现的,这里用的是:ratis。整合spark,flink,presto/trino,doris 都比较容易

阅读全文

k8s 网络

覆盖网络,Flannel 的 UDP模式、xvlan模式、host-gw,Calico 采用了BGP做三层转发,为防止退化为 IPIP,需要设置 BGP 的跳数。 使用 Network Policy 做网络隔离,k8s 的网络本质都是连通的,像是弱多租户。CNI 插件 的网络插件。Service 是由 kube-proxy 组件,加上 iptables 来共同实现的;所谓 Ingress,就是 Service 的“Service”。 调度:根据 etcd 的变化选择合适的 Node 做调度,Priorities为节点打分;Pod 调度失败的情况(抢占、优先级);K8S 中两个不可替代的组件:kube-apiserver、kubelet;核心是循环控制器检查,容器运行时:CRI,除了docker还有containerd,基于虚拟化的:Kata Containers、gVisor
+6

阅读全文

ES的简单学习

主节点管理元数据,数据节点(主分片,从分片),协调节点,预处理节点。索引-分片-segment。查询:term query、ranger、prefix、wildcard query,组合查询、聚合查询(每个分片做topN协调节点汇总topN可能数据不准确),各种字段类型。 倒排索引原理,term-index、term dictionary、posting List。Lucene的segment包含多个document,一个document包含多个filed,每个filed有杜丽丽的索引(倒排索引),变种的前缀树、数据编码、Roaring Bitmaps。相关性评分:TF-IDF (Term Frequency-inverse Document Frequency)、BM25 算分模型。分词器:格式处理清洗、文本切分、对切换后的单词做处理。近实时的原因:Refresh,写入的数据会定期刷盘,刷盘后生成不可变文件就可以被读取。index buffer、transaction log。分页方式:from + size、search after、scroll API、point in time。PacificA主从副本同步协议,多个master使用 raft 协议,主副本写入会带SN,将写入数据和SN一起同步给从分片。监控:cluster API,CAT api,索引生命周期管理:hot、warn、colod、delete。 索引别名、reindex、索引模版,收缩index。 ELK 架构。 ES优化:snapshoot、生命周期管理,批量读写,慢日志查询/CPU/内存/磁盘/网络 监控,索引rate,segment大小,shared数量,存储限流,refresh频率
+9

阅读全文

最近文章

分类

归档

标签

RSS