![](https://img-blog.csdnimg.cn/20190423151452448.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Hadoop相关
文章平均质量分 71
hadoop、spark、mysql、es、python、linux等工作中用到的技术或者框架
不加班程序员
小白一枚
展开
-
常见OLAP对比
但是Clickhouse也有它的局限性,在OLAP技术选型的时候,应该避免把它作为多表关联查询(JOIN)的引擎,也应该避免把它用在期望支撑高并发数据查询的场景,OLAP分析场景中,一般认为QPS达到1000+就算高并发,而不是像电商、抢红包等业务场景中,10W以上才算高并发,毕竟数据分析场景,数据海量,计算复杂,QPS能够达到1000已经非常不容易。Druid 支持低延时的数据摄取,灵活的数据探索分析,高性能的数据聚合,简便的水平扩展。:是在基于数据仓库多维模型的基础上实现的面向分析的各类操作的集合。原创 2024-01-27 09:45:00 · 954 阅读 · 0 评论 -
Hive常见问题汇总
order by:order by是将数据按照指定的列排序输出,并且会改变数据的分区。cluster by:cluster by是对表进行分桶,每个分桶内的数据按照指定的列排序,并且会根据指定的列生成对应的分区文件。sort by:sort by是将数据按照指定的列排序输出,但不改变数据的分区,也就是说,sort by只保证每个分区内的数据有序,但不保证分区之间的顺序。增加Reduce数量:对于数据倾斜比较严重的情况,可以增加Reduce任务的数量,将数据划分到更多的节点上处理,从而减轻单个节点的负担。原创 2024-01-24 15:02:04 · 620 阅读 · 0 评论 -
数据仓库建模
在ER模型中抽象出了有实体、关系、属性三种类别,在现实世界中,每一个操作型事件,基本都是发生在实体之间的,伴随着这种操作事件的发生,会产生可度量的值,而这个过程就产生了一个事实表,存储了每一个可度量的事件。比如商品,单一主键:商品ID,属性包括产地、颜色、材质、尺寸、单价等, 但并非属性一定是文本,比如单价、尺寸,均为数值型描述性的,日常主要的维度抽象包括:时间维度表、地理区域维度表等。通过将数据按照多个维度进行切片和切块,可以支持复杂的查询和分析需求,如数据切片、钻取、滚动等操作。原创 2024-01-23 17:02:28 · 811 阅读 · 0 评论 -
数据仓库-相关概念
数据仓库是一个用于集成、存储和管理大量数据的系统。它用于支持企业决策制定过程中的数据分析和报告需求。数据仓库从多个来源收集和整合数据,并将其组织成易于查询和分析的结构。数据仓库的主要目标是提供高性能的数据访问和分析能力,以便用户可以从不同的角度和层次上理解和解释数据。它通常包含历史数据,用于支持趋势分析和预测模型的建立。数据仓库不仅仅是一个存储数据的地方,它还提供了一系列工具和技术来支持数据清洗、转换、集成和加载等过程。原创 2024-01-23 13:40:45 · 1649 阅读 · 0 评论 -
flume自定义拦截器
flume 自定义拦截器原创 2024-01-22 15:29:09 · 610 阅读 · 0 评论 -
flume案例
在构建数仓时,经常会用到flume接收日志数据,通常涉及到的组件为kafka,hdfs等。下面以一个flume接收指定topic数据,并存入hdfs的案例,大致了解下flume相关使用规则。原创 2024-01-22 15:18:21 · 1232 阅读 · 0 评论 -
探索Elasticsearch内存应用的关键因素
elasticsearch,内存应用相关原创 2024-01-05 09:33:50 · 579 阅读 · 0 评论 -
Flink之时间和窗口
在事件时间语义下,我们不依赖系统时间,而是基于数据自带的时间戳去定义了一个时钟,用来表示当前时间的进展。于是每个并行子任务都会有一个自己的逻辑时钟,它的前进是靠数据的时间戳来驱动的。 我们可以把时钟也以数据的形式传递出去,告诉下游任务当前时间的进展;而且这个时钟的传递不会因为窗口聚合之类的运算而停滞。一种简单的想法是,在数据流中加入一个时钟标记,记录当前的事件时间;这个标记可以直接广播到下游,当下游任务收到这个标记,就可以更新自己的时钟了。原创 2023-04-07 14:50:00 · 943 阅读 · 0 评论 -
Flink之教程
本教程介绍了Flink的基本概念、架构、数据处理模式和常用API,并提供了详细的案例和图片。Flink是一个强大的流处理引擎,可以用于处理实时数据和批量数据,具有高性能和可扩展性。原创 2023-03-17 17:10:43 · 723 阅读 · 0 评论 -
Flink之Sink
Flink 的 DataStream API 专门提供了向外部写入数据的方法:addSink。与 addSource 类似,addSink 方法对应着一个“Sink”算子,主要就是用来实现与外部系统连接、并将数据提交写入的;Flink 程序中所有对外的输出操作,一般都是利用 Sink 算子完成的。原创 2023-03-16 11:48:29 · 1650 阅读 · 0 评论 -
Flink之Transformation
Flink常见的转换算子说明,如map、filter、flatmap、reduce、keyby等原创 2023-03-14 16:48:44 · 614 阅读 · 0 评论 -
Zeppelin连接Hbase设置
zepplin和HBase的组合原创 2023-03-10 17:16:04 · 197 阅读 · 0 评论 -
Flink相关介绍
Flink的定位是:Apache Flink是一个框架和分布式处理引擎,如图所示,用于对无界和有界数据流进行有状态计算。Flink被设计在所有常见的集群环境运行,以内存执行速度和任意规模来执行计算。Flink 框架处理流程。原创 2023-03-08 15:43:32 · 598 阅读 · 0 评论 -
zeppelin部署文档
zeppline部署文档原创 2022-08-23 17:05:37 · 1847 阅读 · 0 评论 -
spark操作Redis
需求:需要通过spark对redis里面的数据进行实时读写实现方案:通过建立连接池,在每台机器上单独建立连接,进行操作1、利用lazy val的方式进行包装 class RedisSink(makeJedisPool: () => JedisPool) extends Serializable { lazy val pool = makeJedisPool() } object RedisSink { def apply(redisHost: String,原创 2022-02-28 15:07:03 · 3294 阅读 · 3 评论 -
Spark中字符串和json、map格式相互转化
Spark中字符串和json格式相互转化字符串转为mapimport org.json4s.DefaultFormatsimport org.json4s.jackson.JsonMethods.parseval ad = """{"name":"zsd","age":11}"""implicit val formats: DefaultFormats.type = org.json4s.DefaultFormatsval adMap: Map[String, Any] = parse(a原创 2021-01-19 15:31:30 · 1316 阅读 · 0 评论 -
通过Spark向Kafka写入数据
1、·将KafkaProducer利用lazy val的方式进行包装package cn.com.m.utilimport java.util.concurrent.Futureimport org.apache.kafka.clients.producer.{KafkaProducer, ProducerRecord, RecordMetadata}class KafkaSink[K, V](createProducer: () => KafkaProducer[K, V]) ext原创 2020-11-09 13:59:19 · 2472 阅读 · 0 评论 -
xshell Hbase shell 输入无法使用退格键删除解决办法
使用Ctrl + Backspace原创 2020-10-13 17:36:56 · 389 阅读 · 0 评论 -
Kafka架构总结以及常见的面试题总结
kafka名词说明分布式 高吞吐量 消息系统producer:生产者consumer:消费者broker:机器,节点controller:kafka服务器的主节点 负责管理元数据(zk存储一份)follower:kafka服务器的从节点 (同步元数据)topic:主题。类似于关系型数据库中的表partition:一个主题可以有多个分区replica:副本,为了保证数据安全,每个partition可以设置多个副本(leader replica和slave replica)原创 2020-06-26 16:56:58 · 546 阅读 · 1 评论 -
十五个点,理解Apache Kafka
一、介绍Kafka在世界享有盛名,大部分互联网公司都在使用它,那么它到底是什么呢? Kafka由LinkedIn公司于2011年推出,自那时起功能逐步迭代,目前演变成一个完整的平台级产品,它允许您冗余地存储巨大的数据量,拥有一个具有巨大吞吐量(数百万/秒)的消息总线,并且支持实时流任务处理。总的来说,Kafka是一个分布式,可水平扩展,容错的日志提交系统这些...转载 2020-03-04 17:02:33 · 332 阅读 · 1 评论 -
kafka架构与原理
1、简介它可以让你发布和订阅记录流。在这方面,它类似于一个消息队列或企业消息系统。它可以让你持久化收到的记录流,从而具有容错能力。首先,明确几个概念:• Kafka运行在一个或多个服务器上。• Kafka集群分类存储的记录流被称为主题(Topics)。• 每个消息记录包含一个键,一个值和时间戳。Kafka有四个核心API:• 生产者 API 允许应用程序发布记录流至一个或多个Kaf...转载 2020-03-04 16:51:55 · 325 阅读 · 0 评论 -
Storm入门原理
storm 入门原理介绍 1.hadoop有master与slave,Storm与之对应的节点是什么?2.Storm控制节点上面运行一个后台程序被称之为什么?3.Supervisor的作用是什么?4.Topology与Worker之间的关系是什么?5.Ni...转载 2018-07-26 16:55:34 · 229 阅读 · 0 评论 -
Hive自定义UDF函数
Hive自定义UDF函数以简单的处理单个字段的UDF函数为例,开发自定义UDF函数需要继承’org.apache.hadoop.hive.ql.exec.UDF’类. 可以通过Maven添加,pom文件中加入(版本号跟Hive版本一致即可):<dependency> <groupId>org.apache.hive&lt...转载 2018-08-03 14:36:36 · 263 阅读 · 0 评论 -
Elasticsearch5.4.0(head/kibana/logstash)安装部署深入详解
Elasticsearch5.4.0(head/kibana/logstash)安装部署深入详解转载请务必加上原作者:铭毅天下,原博客地址:http://blog.csdn.net/laoyang360目录(?)[+]ES540安装包下载地址Centos67 Elasticsearch540安装Head插件安装Kibana安装lo转载 2017-07-29 11:31:11 · 977 阅读 · 0 评论 -
Spark Yarn-cluster与Yarn-client
Spark Yarn-cluster与Yarn-client 摘要在Spark中,有Yarn-Client和Yarn-Cluster两种模式可以运行在Yarn上,通常Yarn-Cluster适用于生产环境,而Yarn-Clientr更适用于交互,调试模式,以下是...转载 2018-07-31 11:28:20 · 257 阅读 · 0 评论 -
Scala伴生类和伴生对象
Scala伴生类和伴生对象 单例对象与类同名时,这个单例对象被称为这个类的伴生对象,而这个类被称为这个单例对象的伴生类。伴生类和伴生对象要在同一个源文件中定义,伴生对象和伴生类可以互相访问其私有成员。不与伴生类同名的单例对象称为孤立对象。看看例子:?123456789101112131415161718192021222324252627...转载 2018-07-31 10:49:13 · 337 阅读 · 0 评论 -
Spark之 cache()和persist()
× Spark之cache()和persist() SuperBoy_Liang RDD的持久化也就是说假如我们从hdfs读取文件,形成RDD。当我们对RDD进行持久化操作之后,,然后再针对该R...原创 2018-07-23 17:22:53 · 288 阅读 · 0 评论 -
Spark之DataFrame操作大全
Spark Session中的DataFrame类似于一张关系型数据表。在关系型数据库中对单表或进行的查询操作,在DataFrame中都可以通过调用其API接口来实现。可以参考,Scala提供的DataFrame API。本文中的代码基于Spark-2.2的文档实现。一、DataFrame对象的生成 Spark-SQL可以以其他RDD对象、parquet文件、json文件、Hiv...转载 2018-07-23 17:01:31 · 5319 阅读 · 0 评论 -
Spark之reduceByKey与GroupByKey
Spark中针对键值对类型的RDD做各种操作比较常用的两个方法就是ReduceByKey与GroupByKey方法,下面从源码里面看看ReduceByKey与GroupByKey方法的使用以及内部逻辑。官方源码解释:三种形式的reduceByKey总体来说下面三种形式的方法备注大意为: 根据用户传入的函数来对...转载 2018-07-23 16:53:29 · 664 阅读 · 0 评论 -
用graphx实现Bronkerbosch计算极大团
请结合Bronkerbosch算法描述查看,该方法是在朴素的Bronkerbosch算法上进行改进,属于带轴的Bron_Kerbosch算法原创 2017-07-28 11:14:40 · 1150 阅读 · 0 评论 -
map与flatmap区别
map的作用很容易理解就是对rdd之中的元素进行逐一进行函数操作映射为另外一个rdd。flatMap的操作是将函数应用于rdd之中的每一个元素,将返回的迭代器的所有内容构成新的rdd。通常用来切分单词。 Spark 中 map函数会对每一条输入进行指定的操作,然后为每一条输入返回一个对象; - 而flatMap函数则是两个操作的集合——正是“先映射后扁平化”: 操作1:同map函数一样:原创 2017-08-01 17:25:47 · 677 阅读 · 0 评论 -
spark scala 对dataframe进行过滤----filter方法使用
val df = sc.parallelize(Seq(("a", 1), ("a", 2), ("b", 2), ("b", 3), ("c", 1))).toDF("id", "num")对整数类型过滤逻辑运算符:>, <, ===df.filter($"num"===2)df.filter($"num">2)df.filter($"num"<2)或者d...转载 2019-04-04 17:23:10 · 11348 阅读 · 0 评论 -
linux安装azkaban
准备mkdir-p/opt/apps/azkabancd /opt/apps/azkabanrz 上传azkaban-web-server-2.5.0.tar.gz,azkaban-executor-server-2.5.0.tar.gzazkaban-sql-script-2.5.0.tar.gztar -zxvf azkaban-web-server-2....原创 2019-01-18 15:08:41 · 297 阅读 · 0 评论 -
Spark RDD基本转换
union、intersection、subtractuniondef union(other: RDD[T]): RDD[T]该函数比较简单,就是将两个RDD进行合并,不去重。scala> var rdd1 = sc.makeRDD(Seq(1,2,2,3))rdd1: org.apache.spark.rdd.RDD[Int] = ParallelCollection...原创 2019-04-17 10:39:48 · 177 阅读 · 0 评论 -
Spark持久化&检查点
1.持久化Spark持久化过程包括persist、cache、upersist3个操作 /** Persist this RDD with the default storage level (`MEMORY_ONLY`). */ def persist(): this.type = persist(StorageLevel.MEMORY_ONLY) ...转载 2019-04-23 16:44:19 · 361 阅读 · 0 评论 -
Flume中的HDFS Sink配置
Flume中的HDFS Sink配置参数说明type:hdfspath:hdfs的路径,需要包含文件系统标识,比如:hdfs://namenode/flume/webdata/filePrefix:默认值:FlumeData,写入hdfs的文件名前缀fileSuffix:写入 hdfs 的文件名后缀,比如:.lzo .log等。inUsePrefix:临时文件的文件名前缀...转载 2019-04-03 15:29:55 · 669 阅读 · 1 评论