GitHub 迁移 从一个企业内部的GitHub仓库迁移到另外一个,企业版的GitHub仓库内过程,同时需要保存,工程代码中所有的元数据信息,如git log信息。所有操作都采用的是 GitBash.exe 客户端操作。1 克隆要迁移的仓库作为裸仓库;这将不包含工作目录。git clone --mirror ssh://git@xxx.com/xxx/xxx.gitcd xxxx.git2 将 Repo 的 Push URL 更新为复制的 Github repo URLgit remote set-url --
Spark 使用自带的Jackson解析Json字符串为Scala对象 因为Spark自带有Jacksonjar包,所以不需要额外的引入FastJson包即可完成json的解析工作。json 字符串样例:{ "TaskId": 5, "output": "s3://a/b/c/file.csv", "input": "s3://a/b/c/file.csv", "seg": { "type":"haap", "requestId": "dsafdsaf", "requestDate": "2021-01-15" }, "fie
SparkSQL DataFrame Select时传入可变参数 最近有个新需求用到spark动态读取数据源,因数据源列名通过json传入,而且业务场景是只用DataFrame做不好用SQL处理。一开始错误代码示例: val ds: Dataset[String] = sparkSession.read.textFile("input/user.txt","input/traffics.txt") ds.show(20) val result = ds.map(x=>{ val str = x.split(" ") (
hive 中lateral view 和 explode使用案例 0.函数说明EXPLODE(col):将 hive 一列中复杂的 array 或者 map 结构拆分成多行。LATERAL VIEW用法:LATERAL VIEW udtf(expression) tableAlias AS columnAlias解释:用于和 split, explode 等 UDTF 一起使用,它能够将一列数据拆成多行数据,在此基础上可以对拆分后的数据进行聚合。lateral view 使用案例:源数据结构如下:movie category
Spark 通过submit作业启动流程源码分析 Spark作业通过submit操作提交作业一开始脚本通过执行// 很明显这个类中绝对有Main方法, 脚本中 @$ 意思是启动时传递的一堆参数org.apache.spark.deploy.SparkSubmit 类来启动程序 // 很明显 main方法中就调用了一个doSubmit方法而已,并将参数传进去 def main(args: Array[String]): Unit = ...
Flink Parallelism 与 Slot 理解 文章目录what Parallelism Slot ?Slot 和 Parallelism 的关系1.Slot 是指 TaskManager 最大能并发执行的能力2.parallelism 是指 TaskManager 实际使用的并发能力总结what Parallelism Slot ?parallelism 是并行的意思slot 槽位的意思先来看一张Flink官网中一张经典图图中...
SparkSQL自定义外部数据源源码分析及案例实现 通过查看JDBC方式源代码入口分析:源码分析//继承BaseRelation的类必须能够以`StructType`的形式产生其数据模式。具体的实现应继承自后代Scan类之一abstract class BaseRelation { def sqlContext: SQLContext def schema: StructTypedef sizeInBytes: Long = sq...
Kafka Consumer Rebalance分区策略 RangeAssignorRoundRobinAssignorStickyAssignor通过partition.assignment.strategy参数进行配置分区策略, 默认使用的策略是org.apache.kafka.clients.consumer.RangeAssignor, (default)还存在org.apache.kafka.clients.consumer.Roun...
HBase(三): HBase(CDH)生产调优 文章目录基于 MemStore flush触发的生产调优memstore级别限制:region级别限制:RegionServer 级别限制 (影响最大):Hlog级别限制定期级别限制手动级别HBase 合并合并 Compaction影响:触发条件:基于 MemStore flush触发的生产调优memstore其实是一个内存结构存储,一个CF对应一个memstore。HBase触发flus...
HBase(二): HBase读写流程 文章目录HBase 写流程HBase 读流程HBase 写流程向zk /hbase/meta-region-server,获取hbase:meta表所在的RegionServer节点。向RegionServer节点获取hbase:meta内容,根据Rowkey 设计规则 对比,找到对应的RS节点和对应的Region将请求发送给对应的RS节点, 先写Hlog,再写对应的region列族的...
HBase(一): HBase 表结构及数据模型和架构的理解 大数据领域常用存储介绍对比:HDFS: NOSQLHive:有SQL 慢HBase: NoSQL 快 (Phoenix + HBase)Kudu: Impala + Kudu 组合CASSAndraHBase 表概念:一个HBase表由一个或者多个列祖(CF)组成,一个列族又包含很多列(限定符,CQ),没列存储相对应的值,和传统的关系型数据库不一样HBase是稀疏表,一些列...
SparkStreaming Kafka 维护offset SparkStreaming Kafka 维护offset 官网有三种实现方式CheckpointsKafka itselfYour own data store这里第一种方式不推荐使用,这里只介绍后面两种方式Kafka itself代码分析object MyKafkaConsumer { def main(args: Array[String]): Unit = { ...
Spark 闭包 之 Exception:Task not serializable 错误信息:org.apache.spark.SparkException: Task not serializable at org.apache.spark.util.ClosureCleaner$.ensureSerializable(ClosureCleaner.scala:403) at org.apache.spark.util.ClosureCleaner$.clean(Clos...
SparkStreaming 状态计算 (updateStateByKey mapWithState)区别 SparkStreaming 状态计算updateStateByKey 算子:返回的是带有状态的DStream,在这个DStream里面,每一个key的状态是可以被更新的,通过一个给定的函数,把之前的key的状态和当前key新的状态联合起来计算,用于维持每个key的任意状态。说白了也就是说每一次的老的计算状态都给记录下来,新的计算状态用于去更新老的状态。两步骤:Define the st...
CDH 离线安装Kafka 前面已经介绍过了离线部署CDH5.16.1 企业真正离线部署CDH5.16.1准备工作:先选择好自己对应的CDK版本,然后下载好然后上传到cdh 集群parcels 安装文档 添加链接描述el 7代表centos7,下载好之后将 .sha1中的1去除掉接下来:# 验证下载的kafka是否完好[root@hadoop003 Kafka_parcels]# sha1sum KAFKA-...
Kafka 全局数据有序 我们知道kafka,每个partition内数据是有序的,,然后数据发送到某个topic内 单个topic内全局数据肯定是乱序的。先通过源码来分析某条消息是如何选择计算 partition 的/** * The default partitioning strategy: * <li>If a partition is specified in the record, use ...
Kafka 安装和使用 Kafka简介1)发布 & 订阅: 类似于⼀个消息系统,读写流式的数据2)处理: 编写可扩展的流处理应⽤程序,⽤于实时事件响应的场景3)存储: 安全的将流式的数据存储在⼀个分布式,有副本备份,容错的集群⽤于构建实时的数据管道和流式的app.它可以⽔平扩展,⾼可⽤,速度快Kafka安装 (三个节点)1,先要安装好zookeeper,因为 kafka 的元数据是保存在zookeep...
SparkSQL ETL 记一次SparkSql ETL 过程需求:1)input:json日志2)ETL:根据IP解析出 省份,城市3)stat: 地区分布指标计算,满足条件的才算,满足条件的赋值为1,不满足的赋值为0 (如下图)将统计结果写入MySQL中。(就比如说这个广告请求要满足 requestmode=1 和 processnode =3 这两个条件)val spark = SparkSessi...
SparkSQL DataFrame Datasets 文章目录概述:准备工作:案例及源码分析:1 读取 txt 文件数据2 读取json3 读取CSV 文件4 jdbc 方式读取概述:1)Spark SQL可以加载任何地方的数据,例如mysql,hive,hdfs,hbase等,而且支持很多种格式如json, parquet, avro, csv格式。我们可以开发出任意的外部数据源来连接到Spark SQL,然后我们就可以通过外部数据源API来...