自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 Hive SQL作业执行慢,怎么解决

4,a left join b 可以转换为:b left join a 加 union,基于维度对指标进行。:需要过滤链接条件中的NULL值:解决方法1:NULL不参与关联,解决方法2:给空值分配随机的key值。实现广播的小表链接大表,来提升链接的效率。1,可以舍弃热点数据,稀疏的key数据与密集的key数据分开计算,避免。小文件过多造成执行过程中的拉取文件的大量随机读,带来任务延迟。3,大表热点数据在key上拼接0~n的前缀/后缀,同时。,限制分区,过滤冗余数据,拆解任务分批次执行。

2023-11-02 16:50:59 759

原创 hive分区表和分桶表的区别

(1)从表现形式上:分区表是一个目录,分桶表是文件(2)从创建语句上:分区表使用partitioned by子句指定,以指定字段为例,需要指定字段类型分桶表由clustered by子句指定,指定字段为真是字段,需要指定桶的个数(3)从数量上:分区表的分区个数可以增长,分桶表一旦指定,不能在增长(4)从作用上:分区避免全表扫描,根据分区列查询指定目录提高查询速度分桶保存分桶查询的分桶结构(数据已经按照分桶字段进行了hash散列)分桶表数据进行抽样和join时可以提高mr程序效率。

2023-11-02 16:32:01 245

原创 hive题目

Hive通过给用户提供的一系列交互接口,接受到用户的指令(SQL),使用自己的Driver,结合元数据(MetaStore),将这些指令翻译成MapReduce,提交到Hadoop中执行,最后,将执行返回的结果输出到用户交互接口。(2)另外,有多少个Reduce,就会有多少个输出文件,如果生成了很多个小文件,那么如果这些小文件作为下一个任务的输入,则也会出现小文件过多的问题;元数据包括:表名、表所属的数据库(默认是default)、表的拥有者、列/分区字段、表的类型(是否是外部表)、表的数据所在目录等;

2023-09-27 17:26:32 113

原创 hadoop题目

1.Hadoop常用端口号hadoop2.xHadoop3.x访问HDFS端口500709870访问MR执行情况端口80888088历史服务器1988819888客户端访问集群端口90008020。

2023-09-26 18:03:08 84

原创 hive基础

Hive:由Facebook开源用于解决海量结构化日志的数据统计。mapreduce : 海量数据的分布式计算框架.Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。本质是:将HQL转化成MapReduce程序1)Hive处理的数据存储在HDFS2)Hive分析数据底层的实现是MapReduce3)执行程序运行在Yarn上。

2023-09-25 19:28:42 23

原创 HIve报错FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException:Unable to instantia

通过分析错误:可以得出SessionHiveMetaStoreClient是hive连接mysql存储元数据出现了问题。1、hive-site.xml文件中没有添加Mysql数据库的信息。2、在hive配置文件中的mysql用户权限不足。进入mysql命令行。所以我们需要检查元数据存储错误。

2023-09-24 21:32:05 2285

原创 客户机操作系统已禁用 CPU,请关闭或重置虚拟机

原因:试过网上各种办法都不行,只能重新创建虚拟机找原因,最后发现关闭SELINUX后重启后就出现该报错。在检查一下发现是自己改错配置了需要改SELINUX,我改成SELINUXTYPE。现象:虚拟机重启后都报错客户机操作系统已禁用 CPU,请关闭或重置虚拟机。

2023-09-23 19:13:40 1314

原创 Kylin简介

Apache Kylin™是一个开源的、分布式的分析型数据仓库,提供Hadoop/Spark 之上的 SQL 查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由 eBay 开发并贡献至开源社区。通过Kylin,可以实现超大数据集的亚秒级查询。另外一定要提的一点,Kylin是首个由中国人引导并完成开发的Apache顶级开源项目!

2023-09-21 18:22:58 168

原创 kudu笔记

一个tablet是一张table连续的片段,tablet是 kudu表的水平分区,类似于HBase的region。一张表的所有tablet包含了这张表的所有key空间。表(Table)是数据库中用来存储数据的对象,是有结构的数据集合.Kudu中的表具有模式(纲要)和全局有序的主键(主键))。与HDFS 和 HBase相似,Kudu使用单个的Master节点,用来管理集群的元数据,并且使用任意数量的Tablet Server(类似HBase 中的RegionServer角色)节点用来存储实际数据。

2023-09-20 20:14:17 28

原创 Spark Core&SQL

Driver启动后向ResourceManager申请Executor内存,ResourceManager接到资源申请后会分配container,然后在合适的NodeManager上启动Executor进程,Executor进程启动后会向Driver反向注册,然后Driver开始执行main函数,之后执行到Action算子时,触发一个job,并根据宽依赖开始划分stage,每个stage生成对应的taskSet,之后将task分发到各个Executor上执行。,即分布式的改变,然后聚合这些改变。

2023-09-19 20:07:43 30

原创 ClickHouse解析

OLAP全称是On-Line Analytical Processing,是一种联机分析处理数据库,一般用于数据仓库或者大数据分 析处理,这种类型的数据库在事务能力上很弱,但是在分析的场景下很强大。列式数据库的优势:1.针对分析类查询,通常只需要读取表的一小部分列,减少io消耗2.由于数据总是打包成批量读取的,所以压缩是非常容易的。同时数据按列分别存储这也更容易压缩。这进一步 降低了I/O的体积。3.由于I/O的降低,这将帮助更多的数据被系统缓存。

2023-09-18 15:42:14 157

原创 Spark-RDD编程(三)

Spark提供了自带的HashPartitioner(哈希分区)与RangePartitioner(区域 分区),能够满足大多数应用场景的需求。与此同时,Spark也支持自定义分 区方式,即通过提供一个自定义的分区函数来控制RDD的分区方式,从而利 用领域知识进一步减少通信开销。

2023-09-17 23:29:16 96 1

原创 Spark Shuffle解析

如果当前stage有50个task,总共有10个Executor,每个Executor执行5个task,那么每个Executor上总共就要创建500个磁盘文件,所有Executor上会创建5000个磁盘文件。由于shuffle write的过程中,map task给下游stage的每个reduce task都创建了一个磁盘文件,因此shuffle read的过程中,每个reduce task只要从上游stage的所有map task所在节点上,拉取属于自己的那一个磁盘文件即可。

2023-09-16 13:37:52 57 1

原创 Spark 内核解析笔记(一)

上图为Spark通用运行流程,不论Spark以何种模式进行部署,任务提交后会先启动Driver进程,随后Driver进程向集群管理器注册应用程序,之后集群管理器分配Executor并启动,当Driver资源满足后,开始执行main函数,Spark查询为懒执行,当执行到action算子时开始反向推算,根据宽依赖进行stage的划分,随后每一个stage对应一个taskset,taskset中有多个task,根据本地化原则task会被分发到指定的Executor去执行。

2023-09-15 17:41:36 33

原创 ClickHouse

OLAP全称是On-Line Analytical Processing,是一种联机分析处理数据库,一般用于数据仓库或者大数据分析处理,这种类型的数据库在事务能力上很弱,但是在分析的场景下很强大。12、自适应的join算法,JOIN多个表,它更倾向于散列连接算法,如果有多个大表,则使用合并-连接算法。7、向量引擎,数据不仅仅按列存储,同时还按向量(列的一部分)进行处理,这样可以更加高效地使用CPU。8、实时的数据更新,数据可以持续不断地高效的写入到表中,并且写入的过程中不会存在任何加锁的行为。

2023-09-14 20:05:17 42 1

原创 Spark对Kafka两种连接方式的对比——Receiver和Direct

高级Consumer API实现的。:直连模式,不同于Receiver的方式,Direct方式没有receiver这一层,其会周期性的获取Kafka中每个topic的每个partition中的最新offsets,并且相应的定义要在每个batch中处理偏移范围,当启动处理数据的作业时,kafka的简单的消费者api用于从kafka读取定义的偏移范围。而在Direct方式中,Kafka中的partition与RDD中的partition是一一对应的并行读取Kafka数据,这种映射关系也更利于理解和优化。

2023-09-13 18:08:01 113 1

原创 Spark-RDD编程(二)

将数据集的元素以textfile的形式保存到HDFS文件系统或者其他支持的文件系统,对于每个元素,Spark将会调用toString方法,将它装换为文件中的文本。将数据集中的元素以Hadoop sequencefile的格式保存到指定的目录下,可以使HDFS或者其他Hadoop支持的文件系统。针对(K,V)类型的RDD,返回一个(K,Int)的map,表示每一个key对应的元素个数。通过func函数聚集RDD中的所有元素,这个功能必须是可交换且可并联的。在驱动程序中,以数组的形式返回数据集的所有元素。

2023-09-12 16:36:11 45 1

原创 Spark-RDD编程(一)

RDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基础的抽象类,他代表一个不可变,可分区,里面的元素可以并行计算的集合。在 Spark 中,对数据的所有操作不外乎创建 RDD、转化(算子)已有RDD 以及调用 RDD 操作进行求值(执行)。每个 RDD 都被分为多个分区,这些分区运行在集群中的不同节点上。RDD 可以包含 Python、Java、Scala 中任意类型的对象, 甚至可以包含用户自定义的对象。

2023-09-11 11:26:26 147

原创 Redis数据库

Redis服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程,Redis的实际处理速度则是完全依靠于主进程的执行效率。若在服务器上只运行一个Redis进程,当多个客户端同时访问时,服务器的处理能力是会有一定程度的下降若在同一台服务器上开启多个Redis进程,Redis在提高并发处理能力的同时会给服务器的CPU造成很大压力。在实际生产环境中,需要根据实际的需求来决定开启多少个Redis进程。若对高并发要求更高一些,可能会考虑在同一台服务器上开启多个进程。

2023-09-10 20:29:15 25 1

原创 Scala--apply方法

apply方法调用:用括号传递给类实例或单例对象名一个或多个参数时,Scala会在相应的类或对象中查找方法名为apply且参数列表与传入的参数一致的方法,并用传入的参数来调用该apply方法。在Scala中,我们把所有类的构造方法以apply方法的形式定义在它的伴生对象当中,这样伴生对象的方法就会自动被调用,调用就会生成类对象。apply方法是scala中独有的,当对象以函数的方式进行调用时,scala会隐式地将调用改为在该对象上调用apply方法。在Scala中不需要用new就可以直接创建新的对象。

2023-09-09 15:07:30 276 1

原创 SparkSQL 个人总结

2、三者都有惰性机制,在进行创建、转换,如map方法时,不会立即执行,只有在遇到Action如foreach时,三者才会开始遍历运算,极端情况下,如果代码里面有创建、转换,但是后面没有在Action中使用对应的结果,在执行时会被直接跳过。4、DataFrame与Dataset支持一些特别方便的保存方式,比如保存成csv,可以带上表头,这样每一列的字段名一目了然,利用这样的保存方式,可以方便的获得字段名和列的对应,而且分隔符(delimiter)可以自由指定。1.RDD一般和spark mlib 同时使用。

2023-09-07 18:14:01 106

原创 spark flatmap()函数

操作可以用于将RDD中的每个元素进行扁平化处理,适用于需要将元素拆分为多个独立元素的情况,如分割字符串、展开嵌套的集合等。是一个RDD的转换操作,它的作用是将RDD中的每个元素应用一个函数,并将函数返回的结果扁平化为一个新的RDD。操作,它的作用是对RDD中的每个元素应用一个函数,并将函数返回的结果作为新的RDD的元素。操作对每个字符串进行分割,可以得到一个包含所有单词的新RDD,如。操作,得到的结果将是一个包含两个数组的RDD,如。的函数返回的结果只能是一个单个元素。的函数返回的结果可以是一个集合,而。

2023-09-06 14:57:28 269 1

原创 SparkCore

Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。Spark是Scala编写,方便快速编程。RDD()叫做分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合RDD支持两种操作:转化。

2023-09-05 15:19:36 30 1

原创 spark报错:Call From xxx to xxx:9000 failed on connection exception: java.net.ConnectException: 拒绝连接

报错:java.net.ConnectException: Call From hadoop01/192.168.137.11 to hadoop01:9000 failed on connection exception: java.net.ConnectException: 拒绝连接;原因:配置文件hadoop/etc/hadoop/core-site.xml中设置的端口与配置文件spark/conf/spark-defaults.conf的端口不一致导致spark访问hdfs被拒绝。

2023-09-04 15:53:52 856 1

原创 hive报错:FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.tez.TezTask

yarn.nodemanager.vmem-check-enabled设置value为false表示禁用虚拟内存检查。yarn.nodemanager.vmem-pmem-ratio设置value为5表示虚拟内存是物理内存的5倍。这些参数配置可以用于控制NodeManager组件的行为,例如限制资源使用、调整内存分配等。

2023-08-11 08:47:44 816 1

原创 Flume 概述和基本架构

一,flume是什么?flume是一个,可靠且高可用的服务,用于有效的接受,聚合,转移大量日志数据,flume具有基于流数据的简单灵活架构,良好的高可靠机制,故障转移和恢复机制,具有了强大的容错性。flume支持在系统中定制各种数据接受方,用于收集数据。同时,flume提供对数据进行简单处理,并写入各种数据接收方的能力。

2023-07-31 16:20:32 131 1

原创 常用hive命令

hive基础命令

2023-07-28 10:23:03 496 1

原创 大数据技术之Hadoop(入门)

HADOOP是apache旗下的一套分布式系统基础架构HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理HADOOP的核心组件有 :HDFS(分布式文件系统)Hadoop distributed File SystemYARN(运算资源调度系统)MAPREDUCE(分布式运算编程框架)4.广义上来说,HADOOP通常是指一个更广泛的概念——HADOOP生态圈Mapreduce是一个分布式运算程序的编程框架。

2023-07-28 08:38:35 746 1

原创 springMVC中用bean接收from表单元素属性为null的问题

最后发现是表单的一个属性导致的问题:enctype="multipart/form-data" ,删除后即可。controller层用bean接收from表单提交的元素,通过打印发现属性为null。通过在url后面手动带参数发现参数可以传送到后端。那肯定是from表单提交参数没有传过来。

2023-07-05 18:21:31 157 1

原创 springmvc中无法加载css、js样式的问题

在web.xml文件中以下代码加入防拦截后OK。css路径没有问题,但是就是不加载css样式。在web.xml文件中。jsp文件被"/"拦截。

2023-07-04 19:05:29 377

原创 集合:collection

子接口: ListList 特征:维护有序的,可重复的集合。 List的实现类: ArrayList LinkedList Vector ArrayList 底层是一个可扩容的数组.拥有下标(索引),从零开始。 LinkedList 底层是:双向链表,插入删除速度快,检索速度慢。 Vector 是一个线程安全的集合。 子接口: SetSet 特征: 维护着无序的,不可重复的集合。 Set存储元素使用的是散列表存储。当散列表中存在已有对象,首先判断hashCode是否相同, 如果不同

2023-05-08 16:31:22 38

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除