
常用语法
文章平均质量分 69
常用语法整理
BIT_666
天道酬勤,厚积薄发
展开
-
Shell - cron_protect.sh 监控 Python、Streaming 程序
使用 shell 监控 Flink、Python 程序。原创 2023-11-29 08:00:00 · 203 阅读 · 0 评论 -
Python - FastAPI 实现 get、post 请求
使用 FastAPI 搭建 Server Demo 与 get、post 操作示例。原创 2023-09-19 14:11:31 · 6029 阅读 · 1 评论 -
LLM / Python - json 使用详解
Json 常用方法示例。原创 2023-07-27 10:36:49 · 971 阅读 · 0 评论 -
Shell - crontab 定时 git 拉取并执行 maven 打包
shell 脚本 crontab 定时 git pull + mvn package。原创 2023-03-10 14:43:23 · 934 阅读 · 3 评论 -
Shell - 随时启动 + 固定时间启动脚本
shell 固定时间启动任务。原创 2023-02-16 14:04:42 · 1255 阅读 · 3 评论 -
Shell - 配置 Python 环境变量并导入
Shell 配置 python 环境。原创 2023-01-13 08:00:00 · 1590 阅读 · 3 评论 -
Git - Not a git repository && 本地分支关联远程仓库
git 新建文件夹并关联远程仓库。原创 2022-12-19 15:12:48 · 560 阅读 · 1 评论 -
Maven - 不能错过的 MacOS / M1 mvn package 效率提升方案
Mvn package 打包时间过长踩坑与优化。原创 2022-11-10 10:41:59 · 2062 阅读 · 13 评论 -
Scala / Java - Guava Sets 高效实践
Google Guava Sets 实践与 Scala 原生集合操作对比。原创 2022-10-28 17:33:04 · 681 阅读 · 0 评论 -
Spark - Logging 简单使用
使用 Spark 运行任务打日志经常遇到一个问题就是日志太多,除了自己的 print 日志之外,还有很多 Executor、client 的日志,一方面任务运行期间会占用更多的机器存储,其次也不方便查询自己的 print 日志。下面介绍下常用的日志系统与使用方法。......原创 2022-06-06 15:50:09 · 1678 阅读 · 3 评论 -
Hive - Count && Sum 使用与性能对比
使用 hive 计数时常使用 Count 和 Sum 两个函数进行统计,下面看看二者的使用方法。原创 2022-05-27 13:05:55 · 1718 阅读 · 0 评论 -
Hive - distinct && group by 求 UV,PV 实战
给定数据表中包含用户 uid 和用户是否点击广告的标签 label,经常有需求统计用户的下发,打开 UV,PV,下面通过 Hive 实现统计并分析 distinct 与 group by 的性能与使用场景。原创 2022-05-16 16:03:36 · 989 阅读 · 2 评论 -
Scala - IEEE754 浮点标准与 Float / Double 转换
上一遍文章介绍了二进制与十进制数字之间的转换,本文介绍现在应用比较广泛的浮点数标准 IEEE754。原创 2022-05-02 07:00:00 · 1496 阅读 · 0 评论 -
Scala - 十进制小数(Double)与二进制小数互转
Scala 提供了 toBinaryString 的方法,使得 Int 数字可以直接转换为二进制数字,但是小数不支持,下面介绍下如何针对给定小数 (Double) 转换为二进制小数。原创 2022-05-01 15:34:59 · 2317 阅读 · 0 评论 -
Python - 删除文件、文件夹
一.引言清理无关文件时整理了很多待删除文件,通过 python os 模块进行快速判断与删除。二.删除rootDIr 为待删除文件、文件夹的根目录,deleteFile 文件内为要删除的文件、文件夹名称,通过 os.remove 删除文件,os.rmdir 删除文件夹达到快速删除📃的目的。#!/usr/bin/python# -*- coding: UTF-8 -*-import osrootDir = 'root'with open('deleteFile') as f原创 2022-04-25 12:11:27 · 2543 阅读 · 0 评论 -
Python - smtplib 发送 Excel 邮件与数据展示
上一篇文章Python - openpyxl Excel 操作示例与实践介绍了如何将数据自动转化至 Excel 并完成自定义标注,节省了大量人工操作的时间,但是后续如果需要将生成的 Excel 和数据发送邮件到指定同学就还需要一步人工操作时间即写邮件发邮件,非常的不奈斯,下面结合smtplib 库实现自定义邮件的发送,从而实现 数据 -> Excel -> 邮件发送的全自动需求。...原创 2022-04-24 16:36:10 · 3089 阅读 · 0 评论 -
Python - openpyxl Excel 操作示例与实践
Python openpyxl库常用操作与实例分析~原创 2022-04-22 13:09:20 · 3007 阅读 · 0 评论 -
Scala - 日常工具组件
开发以 scala 为主,记录一些常见工具组件,不定时持续更新...原创 2022-04-11 15:18:54 · 1274 阅读 · 0 评论 -
Rsync - 跨服务器传送文件
工作需要使用 rsync 跨服务器传送数据,期间遇到的问题做一下整理。原创 2022-04-08 11:16:15 · 3303 阅读 · 0 评论 -
Flink / Scala - 4.DataSet Transformations 常用转换函数详解
上一篇文章讲到了 Flink 如何获取数据生成 DataSet,这篇文章主要讨论 DataSet 后续支持的 Transform 转换函数。相较于 Spark,Flink 提供了更多的 API 和更灵活的写法与实现。原创 2022-03-02 08:45:05 · 1002 阅读 · 0 评论 -
Scala - 翻转 Map
构建 key-value 的 map 时有时也需要同时构建 value-key 的 map,所以需要翻转原始的 key-value map,记录一下几种方法。原创 2022-02-18 10:05:44 · 521 阅读 · 0 评论 -
Maven - Scala/Java 项目添加自己的 jar 包
一.引言scala / java 项目引用非官方依赖 jar 包时,需要自定义并打入最终的 jar 包,经过试验以下方案可以实现。二.添加 jar 包到 maven 库 ????第三方自定义 jar 包可以添加到本地 maven 库中,随后即可 mvn package 打入到最终的项目 jar 包中,该方法最方便。创建 install.sh 文件,jar_path 为第三方自定义 jar 包在设备的位置,groupId、artifactId 和 版本号 version 自己定义,执行脚本后原创 2022-02-15 17:23:35 · 1440 阅读 · 0 评论 -
Scala - for 循环与 yield 示例
对 Map 数据进行翻转时,用到了 for 循环 + yield 的语法,在此记录一下 for + yield 的相关使用。yield 负责将 for 循环中的数据保存下来,待循环结束后返回保存的数据,即 for + yield 有返回值,其返回类型由 for 循环的原始数据类型决定, Array -> Array、Set -> Set,Map -> Map 依次类推。...原创 2022-02-15 14:28:35 · 1148 阅读 · 0 评论 -
Scala - Json 解析优化
一.引言工作场景中使用 com.alibaba.fastjson 时遇到了一些耗时的场景,这里记录一下耗时的场景与简单的优化方法。二.Json 信息的存储形式使用场景为最基本的 kv String 组合,加载位置为 Spark 程序的 Dirver 部分,在 dirver 的执行时间直接影响后续 Executor 上 task 的开始执行时间,所以 dirver 端能够更快执行完对整个程序的运行时间都有帮助,下面直接上代码: def countDiff(isJson: Boole原创 2022-01-26 19:47:38 · 824 阅读 · 0 评论 -
Scala - 向 java String... 方法传参
使用 scala 调用 java 变长参数方法。原创 2022-01-11 15:21:36 · 915 阅读 · 0 评论 -
Shell - 查看目录文件(夹)大小并清理磁盘空间
通道机乱七八糟的东西太多导致卡顿,需要查看文件夹大小并删除,执行 ll -h 命令后只能看到文件大小,文件夹大小都为 4k,切换其他命令并成功删除。原创 2022-01-06 09:34:20 · 7037 阅读 · 6 评论 -
Scala - 使用转义字符 \\ 与 | 分割字符
scala 使用 '|' 作为分割字符时,报红线并提示 scala empty branch in alternation,使用 \\ 转义字符修饰后实现 '|' 的正常 String Split。原创 2021-12-31 16:32:47 · 17661 阅读 · 6 评论 -
Scala / Java - 本地 jar 包导入项目 Maven | Pom
一.引言在没有公库或相互协作时,项目需要导入现成的 jar 包,有两种方案,一种是一劳永逸型:即将 jar 包打入本地 maven 环境这样后续其他项目也可以使用,还有一种是只对当前项目生效,即将 jar 包放入项目 lib 包并用 pom 导入。二. 加入 maven 仓库1.加入仓库jar_path 为待加入 maven 仓库的 jar 包地址,groupId、artifactId 和 version 用于区分和发版,自己定义即可#!/bin/bashjar_path=~/原创 2021-12-18 11:40:14 · 1566 阅读 · 0 评论 -
Spark - SizeEstimator.estimate 字节估算之时间都去哪了
org.apache.spark.util.SizeEstimator 类提供了estimate 方法,该方法估计给定对象在JVM堆上占用的字节数。估计包括给定对象引用的对象占用的空间、它们的引用等。使用场景主要用于 spark 计算 broadCast 的内存容量,因为是estimate ,所以对于指定对象在 JVM 上占用的字节数只是估算,而非实际。...原创 2021-12-10 16:21:56 · 2272 阅读 · 0 评论 -
Hive - Load Data 数据过长或过短
Hive 可以通过load data inpath 加载本地或者 hdfs 的数据到 hive 表中,有时会出现生成数据长于 hive 表字段或者短于 hive 表字段的情况,经过测试,两种情况下 Load Data 到 hive 表中均没有问题。原创 2021-12-03 17:23:55 · 1592 阅读 · 0 评论 -
Spark - 大规模数据去重
Spark 大规模数据去重记数实践原创 2021-12-02 12:39:34 · 2630 阅读 · 0 评论 -
Scala/Java - break & continue
scala / java break,continue 使用原创 2021-11-17 16:58:32 · 970 阅读 · 0 评论 -
Python - nohup启动任务 && Kill 任务
一.引言日志监控时常使用 python + redis 的模式进行 while True 的 7 x 24 监控,监控方法之前实现过类似的任务,可以参考:Python - FastAPI + SubProcess 手机端实时启动任务_BITDDD小栈-优快云博客下面主要介绍下启动任务与结束任务。二.启动与结束1.Python 任务命名 xxxx.py ,While True 逻辑,这里替换监控逻辑为 printimport timewhile True: pr原创 2021-10-26 18:53:35 · 887 阅读 · 0 评论 -
Python - 多线程 Parallel / Multiprocessing 示例
一.引言Java 开发中常用到多线程和线程池提高程序运行效率和机器利用率,Python 多线程用到了 Parallel 类 和 Multiprocessing 类,除此之外还有_thread,threading 等很多线程相关的类,可以配合 os,sys,subprocess 等工具类实现复杂的操作。下面的 Demo 通过 sum 求和的例子介绍几种多线程实现方法。二.Parallel 无 Lockjoblib 库下面的 Parallel 实现了并行提高效率的功能,delayed 处执行..原创 2021-10-21 11:31:08 · 2323 阅读 · 0 评论 -
Git - git stash 常用方法整理
一.引言git 是日常开发中版本控制必不可少的工具,当遇到代码重构或者临时恢复时,git stash 的隐藏功能非常好用,其主要应用于下述场景:上线功能开发中需要切换分支或者切回老版本,但是不想commit和丢弃当前改动,执行 git stash 功能会将当前改动存储至后台,当需要恢复时,执行 git stash pop 即可,可以理解为一个保存栈二.常用命令假设当前添加了 Test.scala文件1.git stash将当前的改动保存下来,默认保存是没有标识的,不好..原创 2021-10-12 19:46:46 · 6925 阅读 · 0 评论 -
Shell - For 循环时间并 Sleep
一.引言shell 执行任务需要 sleep 6min,sleep 期间对时间感知不清晰,所以在6min sleep 期间对时间进行显示。二.实现# 等待6minn=0for i in $(seq 1 360)dosleep 1slet "n=$n+1"echo ${n}s passed...done效果:...原创 2021-09-29 09:37:42 · 2336 阅读 · 0 评论 -
Shell - nc 跨服务器传输数据
一.引言通常使用 rz,sz 实现本机与服务器的交互,涉及到服务器数据交互时,可以使用 nc,尤其是在同一网络环境下,传输速度感人二.传输数据1.接收端这里 1234 可以理解为互相识别的 port,也可以自定义设置,只要接收端和传送端一致即可nc -l 1234 > file_name2.发送端ip 为接收端服务器 ip 端口号,1234 同上,将要传输的文件 < 指向 nc 即可,需要先在接收端启动命令进入监听状态,随后调用发送端命令,即可完成传输原创 2021-09-18 11:29:46 · 824 阅读 · 0 评论 -
Python - FastAPI + SubProcess 手机端实时启动任务
一.引言工程实践中,经常遇到任务故障或其他原因导致任务执行失败,常见的方法是设计 Cron Protect 脚本监控任务执行,但是如果任务执行超时但不退出 Cron Protect 则不会生效,这时候需要强制 Kill 掉任务并重启,但是每次都需要登录服务器,非常的麻烦,这时候可以通过设计接口 + 监听程序,实现程序的自动化启动,只需手机访问接口即可。二.实践经过上面的分析,该监控的功能主要涉及到监控接口参数和实现启动任务,这里需要下述3个工具:=> 监听状态: Redis实时原创 2021-09-16 10:29:09 · 1125 阅读 · 0 评论 -
Spark - newAPIHadoopFIle 获取文件与文件路径 By Scala
一.引言离线日志通常使用 dt,hour,min 或者使用 timeStamp 作为累计文件的命名方式,对于文件日志中不包含时间戳或者时间信息的日志内容,为了获取其对应创建时间与文件属性,需要读取文件时同时获取其 File 对应的 FileSplit 类。二.实践1.思路A. sc.newAPIHadoopFile 读取输入获得 RDD[(LongWritable, Text)]B. asInstanceOf 转换为 NewHadoopRDD[LongWritable, Text].原创 2021-09-14 10:18:07 · 2602 阅读 · 0 评论 -
Hive - ROW_NUMBER() OVER 排序&去重
一.引言需求:每日更新的全量数据表,根据用户去重获取7日内的最新的用户行为二.ROW_NUMBER() OVER 实现全量数据表 user_action ,根据 dt 分区,共包含三列(user STRING,action STRING,dt STRING)假设有过去一年共 365 个 dt 分区,取过去7天用户最新的行为并去重:SELECT tmp.user, tmp.action FROM(SELECT user, action, ROW_NUMBER()原创 2021-09-13 16:47:33 · 4353 阅读 · 0 评论