- 博客(31)
- 收藏
- 关注
原创 FileInputStream和BufferedFileInputStream理解
假设有一个任务,从水龙头接水倒入距离其10米远的一个大缸中,FileInputStream是一次接一滴水再走去大缸中倒入,而BufferedFileInputStream是拿一个桶来接水,接满了再走路去大缸中倒,两者节省的时间在于中间走路次数的多少所花费的时间。并不是说BufferedFileInputSteam底层使用什么特别的方法能够一次多字节的读,而是底层与FileInputStream一致,只是多了一个缓冲区。
2024-04-01 12:23:57
223
原创 ssh免密登录解读
3.验证免密登录:一旦公钥分发完成,就可以尝试从机器1通过ssh连接到机器2,而不需要输入密码。当机器1尝试连接到机器2时,它会使用自己的私钥来“签名”一个认证请求,并将这个请求发送给机器2。机器2接收到请求后,会使用机器1的公钥来验证签名的有效性。1.生成密钥对:在机器1上,使用ssh-keygen命令生成一个密钥对,包括一个私钥(private key)和一个公钥(public key)ssh协议使用的是公钥加密和私钥解密的原则,私钥是用来生成签名的,公钥是用来验证私钥签名的合法性的。
2024-03-19 23:31:31
200
原创 -daemon 和 nohup ... &
总的来说,一些程序可能支持 `-daemon` 参数,可以通过该参数自行在后台运行,而另一些程序可能需要使用 `nohup` 来确保在后台执行并且不受终端挂起的影响。举例来说,如果你在终端中启动了一个长时间运行的任务,比如一个数据处理任务,而且没有采取措施来处理 SIGHUP 信号,那么当你关闭终端时,该任务可能会收到 SIGHUP 并终止。另外,对于某些系统服务或守护进程,由于它们通常是为了在后台持续运行而设计的,它们可能已经采取了处理 SIGHUP 信号的措施,因此不会受到终端挂起的影响。
2023-10-06 09:32:55
1098
原创 Spark二刷
查看Spark-shell运行任务情况 4040SparkMaster内部通信 7077Standalone模式下,SparkMaster Web端口 8088历史服务器 18080foldByKey。
2023-10-04 16:23:02
101
原创 spark
在上面的示例中,首先创建了一个 `SparkConf` 对象,并通过 `setAppName` 方法设置了应用程序的名称为 "MySparkApp"。然后,使用 `SparkContext` 构造函数传入 `SparkConf` 对象,创建了一个 `SparkContext` 对象,以便进行 Spark 相关操作。- `setMaster`: 用于设置 Spark 应用程序运行的执行模式(例如,"local" 用于本地模式,"yarn" 用于在 Hadoop YARN 上运行等)。
2023-09-18 22:59:43
46
原创 Maven的记录点
例如,如果你的项目是一个名为"my-app"的应用程序,你的`artifactId`可以是"my-app"。例如,如果你的项目是一个属于com.example的公司或组织的一部分,你的`groupId`可以是"com.example"。你可以指定依赖的`groupId`、`artifactId`和`version`。在Apache Maven中,`groupId`、`artifactId`以及一些其他参数是用于定义和配置项目的元数据,以便Maven可以管理项目的构建、依赖和部署等方面的工作。
2023-09-18 16:31:37
30
原创 log4j.properties
5. **附加器(Appender):** 附加器是日志消息的最终目的地。1. **日志级别配置:** 你可以指定不同的日志级别(如DEBUG、INFO、WARN、ERROR、FATAL)以控制记录哪些级别的日志消息。2. **日志输出配置:** 你可以配置日志消息的输出目的地,例如控制台、文件、数据库等。3. **日志滚动策略:** 你可以配置日志文件的滚动策略,以限制日志文件的大小或数量。4. **日志格式化:** 你可以定义日志消息的格式,包括时间戳、日志级别、类名、方法名、线程等信息的显示方式。
2023-09-18 12:47:53
179
原创 记录写sql的套路
我用炸裂函数来将原有数据复制成三份(每一行数据都被炸裂函数炸成了三块),这三份的内容一样,但是recent_days这个标识不一样(如图所示,我只是按标识形象上划分成三块)然后我用where来将这三份相同的内容变成不一样的内容(图中的同一组recent_days相同,所以where其实就是对这图中三个组来不同的筛选内容),对应不同的分区内容。遇到聚合逻辑相同,对同一张表的不同分区聚合,可以考虑将行标号来进行分区。看到这个需求我的初步逻辑是将1d的聚合,7d的聚合,30d的聚合。
2023-09-07 21:20:50
174
原创 处理too many open files相关限制及拓展
出现场景:在使用datagrip操作hive进行数据仓库建模过程中出现原因:hiveserver2打开的文件过多.介绍:linux操作系统会对每个进程设限,例如进程使用cpu的时间,打开文件的个数...想看某个进程打开了哪些文件在哪看?jps后记录目标进程的PID#这个目录下的数字记录的就是每个进程的pid,进入相应pid就可以查看这个进程的运行相关信息cd /proc/
2023-09-06 12:08:53
254
1
原创 回顾数据仓库建模流程
为什么要建数据仓库,有什么意义?将数据有序组织和存储,使数据得到高性能,低成本,高效率,高质量的使用实际就是为了方便我们在处理数据时能更快的找到和运行计算出我们需要的结果。
2023-09-05 23:43:00
218
1
原创 hive配置
添加环境变量#刷新#删除或将lib目录下的log4j-slf4j-impl-2.10.0.jar改名,其与hadoop下的同名包冲突#我将hive的元数据信息保存到mysql中,故将mysql的jdbc驱动拷贝到lib目录下#在conf目录下配置hive-site.xml。
2023-09-04 11:00:24
145
1
原创 解决flume往hdfs中写大量小文件问题
小文件问题是指在HDFS中存在大量的小文件,这会给HDFS带来额外的开销,影响存储和计算的效率。在flume的-f 对象conf中,设置sink的相关参数可以改善这种情况。
2023-09-03 17:54:57
576
原创 -Dflume.root.logger=info,console解释
是一个日志 appender,它表示将日志输出到控制台。这意味着在运行 Flume 的机器上,可以通过查看控制台输出来查看 Flume 的日志信息。这意味着 Flume 将同时将日志信息输出到控制台(console)和日志文件,其中日志级别为。级别下,Flume 将记录一些常规的操作和事件,以及可能对管理员有用的信息。,你可以方便地跟踪和监控 Flume 的运行情况,以便及时发现和解决问题。是一个 Java 系统属性,用于配置 Flume 的根日志记录器。的含义是将 Flume 的根日志记录器配置为。
2023-09-03 17:05:05
310
原创 >/dev/null 2>&1 &
是命令行重定向操作,它将标准输出和标准错误输出都重定向到/dev/null设备,也就是一个空设备,即不会将任何输出信息输出到终端或文件。是后台运行操作,将该程序放在后台运行。
2023-09-03 09:54:22
87
原创 hadoop配置回顾
hadoop解压完成后,想一想要修改几个配置文件?答案是5个,分别是 core-site,hdfs-site,yarn-site,mapred-site,works。
2023-09-02 18:50:46
217
原创 centos7中进行hadoop搭建全过程
1.安装模版虚拟机,(以下地址均为实例,具体情况具体应用)IP地址192.168.10.100,主机名称hadoop100,内存4G,硬盘50G2.配置要求1)确认虚拟机联网,ping www.baidu.com试试,ping的同即可2)安装epel-release。
2023-08-13 23:23:20
1386
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人