All996
码龄3年
关注
提问 私信
  • 博客:58,998
    58,998
    总访问量
  • 96
    原创
  • 2,315,147
    排名
  • 18
    粉丝
  • 0
    铁粉

个人简介:浮躁,厌学,情绪波动大.哎呀呀,真难受.

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2022-02-14
博客简介:

weixin_67024075的博客

查看详细资料
个人成就
  • 获得17次点赞
  • 内容获得4次评论
  • 获得44次收藏
创作历程
  • 96篇
    2023年
成就勋章
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Linux

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux发行版本,但它们都使用了Linux内核。而客户机上,需要启动ssh客户端(种类众多,有windows上的,linux上的,安卓上的,mac上等)> 或 >> ,叫做重定向,作用:将左边命令的标准(错误)输出,重定向到右边所指定的文件。
原创
发布博客 2023.07.13 ·
461 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

模拟日志数据

Flume可以采集文件,socket数据包(网络端口)、文件夹、kafka、mysql数据库等各种形式源数据,又可以将采集到的数据(下沉sink)输出到HDFS、hbase、hive、kafka等众多外部存储系统中 一般的采集、传输需求,通过对flume的简单配置即可实现;同时flume内部的各种组件不断丰富,用户在开发的过程中使用的便利性得到很大的改善,现已成为apache top项目之一. 补充:cloudera公司的主打产品是CDH(hadoop的一个企业级商业发行版)(安装部署、修改配置文件)
原创
发布博客 2023.07.10 ·
1267 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Spark SQL 6-7

默认情况下,服务器会在 localhost:10000 上进行监听,我们可以通过环境变量(HIVE_SERVER2_THRIFT_PORT 和 HIVE_SERVER2_THRIFT_BIND_HOST)修改这些设置,也可以通过 Hive配置选项(hive. server2.thrift.port 和 hive.server2.thrift.bind.host)来修改。第三步:用最大销售额和统计好的每个货品的销售额join,以及用年join,集合得到最畅销货品那一行信息。
原创
发布博客 2023.07.06 ·
868 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spark Sql 4/5

这个阶段的优化器主要是基于规则的(Rule-based Optimizer,简称 RBO),而绝大部分的规则都是启发式规则,也就是基于直观或经验而得出的规则,比如列裁剪(过滤掉查询不需要使用到的列)、谓词下推(将过滤尽可能地下沉到数据源端)、常量累加(比如 1 + 2 这种事先计算好) 以及常量替换(比如 SELECT * FROM table WHERE i = 5 AND j = i + 3 可以转换成 SELECT * FROM table WHERE i = 5 AND j = 8)等等。
原创
发布博客 2023.07.05 ·
911 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spark SQL

3.3 DF数据运算操作3.3.1 纯SQL操作核心要义:将DataFrame 注册为一个临时视图view,然后就可以针对view直接执行各种sql临时视图有两种:session级别视图,global级别视图;session级别视图是Session范围内有效的,Session退出后,表就失效了;全局视图则在application级别有效;注意使用全局表时需要全路径访问:global_temp.people Scala// application全局有效df.create
原创
发布博客 2023.07.04 ·
797 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spark SQL

如果想让spark中集成的hive,看见你外部集群中的hive的表,只要修改配置:把spark端的hive的元数据服务地址,指向外部集群中hive的元数据服务地址;Sparksql加载“外部独立hive”的数据,本质上是不需要“外部独立hive”参与的,因为“外部独立hive”的表数据就在hdfs中,元数据信息在mysql中。// 如果程序能从classpath中加载到hive-site配置文件,那么它访问的hive元数据库就不是本地内置的了,而是配置中所指定的元数据库了。
原创
发布博客 2023.07.03 ·
1695 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spark SQL

在老的版本中,SparkSQL提供两种SQL查询起始点,一个叫SQLContext,用于Spark自己提供的SQL查询,一个叫HiveContext,用于连接Hive的查询,SparkSession是Spark最新的SQL查询起始点,实质上是。(开发封装平台很有用哦!Spark SQL可以将针对DataFrame/Dataset的各类SQL运算,翻译成RDD的各类算子执行计划,从而大大简化数据运算编程(请联想Hive),它可以理解为一个基于RDD数据模型的更高级数据模型,带有结构化元信息(schema),
原创
发布博客 2023.07.03 ·
1454 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Spark17-18-19

DAG(Directed Acyclic Graph)叫做有向无环图,是的一系列RDD转换关系的描述,原始的RDD通过一系列的转换就就形成了DAG,根据RDD之间的依赖关系的不同将DAG划分成不同的Stage,对于窄依赖,partition的转换处理在Stage中完成计算。窄依赖指的是父 RDD 中的一个分区最多只会被子RDD 中的一个分区使用,意味着父RDD的一个分区内的数据是不能被分割的,子RDD的任务可以跟父RDD在同一个Executor一起执行,不需要经过 Shuffle 阶段去重组数据。
原创
发布博客 2023.06.28 ·
307 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spark15-16

Executor内运行的并发任务共享JVM堆内内存,这些任务在缓存RDD和广播(Broadcast)数据时占用的内存被规划为存储(Storage)内存,而这些任务在执行Shuffle时占用的内存被规划为执行(Execution)内存,剩余的部分不做特殊规划,那些Spark内部的对象实例,或者用户定义的Spark应用程序中的对象实例,均占用剩余的空间。作为一个JVM进程,Executor的内存管理建立在JVM的内存管理之上,Spark对JVM的堆内(On-heap)空间进行了更为详细的分配,以充分利用内存。
原创
发布博客 2023.06.27 ·
228 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

spark12-13-14

触发一次Action,并且将附带的统计指标计算出来,可以使用Accumulator进行处理,Accumulator的本质数一个实现序列化接口class,每个Task都有自己的累加器,避免累加的数据发送冲突。在一个Executor可以同时运行多个Task,如果多个Task使用同一个共享的单例对象,如果对共享的数据同时进行读写操作,会导致线程不安全的问题,需求:在处理数据的同时,统计一下指标数据,具体的需求为:将RDD中对应的每个元素乘以10,同时在统计每个分区中偶数的数据。
原创
发布博客 2023.06.26 ·
662 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spark10-11

原因是spark的Task是在Driver端生成的,并且需要通过网络传输到Executor中,Task本身实现了序列化接口,函数也实现了序列化接口,但是函数内部使用到的外部引用不支持序列化,就会函数导致无法序列化,从而导致Task没法序列化,就无法发送到Executor中了。根据IP规则数据,计算出给定日志中ip地址对应的省份信息,由于IP地址的规则数据相对较小,所以可以将IP规则数据先广播出去,以后关联IP规则数据,就可以在内存中进行关联了,这样可以避免shuffle,提高执行效率!
原创
发布博客 2023.06.25 ·
640 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spark7-9

如果以后再次触发Action,使用到了以前shuffle的中间结果,那么就不会从源头重新计算而是,而是复用shuffle中间结果,所有说,shuffle是一种特殊的persist,以后再次触发Action,就会跳过前面的Stage,直接读取shuffle的数据,这样可以提高程序的执行效率。Shuffle的功能是将具有相同规律的数据按照指定的分区器的分区规则,通过网络,传输到指定的机器的一个分区中,需要注意的是,不是上游的Task发送给下游的Task,而是下游的Task到上游拉取数据。
原创
发布博客 2023.06.24 ·
469 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

阶段性复习 迭代器, Lambda表达式, 泛型, 单例模式

在实际使用中,Lambda 表达式通常应用于函数式接口、集合的遍历、线程的创建等方面,这些场景都需要传入一个函数作为参数。从而实现类型的约束和灵活性的提升。缺点:当类SingletonTest被加载的时候,会初始化static的instance,静态变量被创建并分配内存空间,优点:实现起来比较简单,当类SingletonTest被加载的时候,静态变量static的instance没有创建对象,通过这些方法,遍历者可以顺序访问集合中的元素,而不需知道如何访问集合内部的数据结构。
原创
发布博客 2023.06.23 ·
768 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java类 继承

类是Java中最基本的代码单元,它是一种用户自定义的数据类型,用于封装数据和方法。类可以看作是一个模板或蓝图,描述了一类对象的属性和行为。在Java中,类的定义通常包括类名、类的成员变量、类的方法等。其中,类名是唯一的,并且必须与文件名相同。类的成员变量是描述类的属性的变量,可以是基本数据类型或其他类的对象。类的方法是描述类的行为的函数,可以访问类的成员变量和其他类的对象。我们可以通过创建对象来实例化一个类,即在内存中分配空间来存储该类的实例,并调用其方法来操作实例的属性和行为。
原创
发布博客 2023.06.22 ·
2222 阅读 ·
2 点赞 ·
0 评论 ·
14 收藏

Spark 6

一个RDD多次触发Action缓存才有意义,如果将数据缓存到内存,内存不够,以分区位单位,只缓存部分分区的数据,cache底层调用persist,可以指定更加丰富的存储基本,支持多种StageLevel,可以将数据序列化,默认放入内存使用的是java对象存储,但是占用空间大,优点速度快,也可以使用其他的序列化方式。如果Driver的内存相对较小,并且每个分区对应的数据比较大,通过网络传输的数据,返回到Driver,当返回到Driver端的数据达到了一定大小,就不收集了,即将一部分无法收集的数据丢弃。
原创
发布博客 2023.06.21 ·
1392 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Spark 4/5

spark shell是spark中的交互式命令行客户端,可以在spark shell中使用scala编写spark程序,启动后默认已经创建了SparkContext,别名为sc。//spark写Spark程序,就是对抽象的神奇的大集合【RDD】编程,调用它高度封装的API。指定masterd地址和端口,协议为spark://,端口是RPC的通信端口。指定masterd地址和端口,协议为spark://,端口是RPC的通信端口。//往HDFS中写入数据,将程序的所属用户设置成更HDFS一样的用户。
原创
发布博客 2023.06.20 ·
889 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spark 1--3章简介,架构体系, 环境搭建

非常具有吸引力,毕竟任何公司都想用统一的平台去处理遇到的问题,减少开发和维护的人力成本和部署平台的物力成本。自带了80多个高等级操作算子,并且允许在Scala,Python,R 的使用命令进行交互式运行,可以非常方便的在Spark Shell中地编写spark程序。Spark可以运行在Hadoop的YARN上面;有高度封装的API,算子丰富,并且使用了更先进的DAG有向无环图调度思想,可以对执行计划优化后在执行,并且可以数据可以cache到内存中进行复用,shuffle时,数据可以不排序。
原创
发布博客 2023.06.19 ·
894 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Kafka架构

Kafka 中的索引文件以稀疏索引( sparse index )的方式构造消息的索引,它并不保证每个消息在索引文件中都有对应的索引;每当写入一定量(由 broker 端参数 log.index.interval.bytes 指定,默认值为 4096 ,即 4KB )的消息时,偏移量索引文件和时间戳索引文件分别增加一个偏移量索引项和时间戳索引项,增大或减小 log.index.interval.bytes的值,对应地可以缩小或增加索引项的密度;通过offset可以快速定位到消息的存储位置;
原创
发布博客 2023.06.18 ·
2357 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Scala(最终9/10/11章)

可以使用方法定义声明异常。因此,在 catch 子句中,越具体的异常越要靠前,越普遍的异常越靠后,如果把越普遍的异常写在前,把具体的异常写在后,在 Scala 中也不会报错,但这样是非常不好的编程风格。Scala 的异常的工作机制和 Java 一样,但是 Scala 没有“checked(编译期)”异常, 即 Scala 没有编译异常这个概念,异常都是在运行的时候捕获处理。(3)可以有多个 catch,分别捕获对应的异常,这时需要把范围小的异常类写在前面,把范围大的异常类写在后面,否则编译错误。
原创
发布博客 2023.06.17 ·
924 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Scala--04

在scala里,curry化对类型推演也有帮助,scala的类型推演是局部的,在同一个参数列表中后面的参数不能借助前面的参数类型进行推演,curry化以后,放在两个参数列表里,后面一个参数列表里的参数可以借助前面一个参数列表里的参数类型进行推演。模式匹配语法中,采用 match 关键字声明,每个分支采用 case 关键字进行声明,当需要匹配时,会从第一个 case 分支开始,如果匹配成功,那么执行对应的逻辑代码,如果匹配不成功,继续执行下一个分支进行判断。定义一个匿名函数,并将它作为值赋给变量 fun。
原创
发布博客 2023.06.16 ·
1165 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多