February13
码龄9年
求更新 关注
提问 私信
  • 博客:72,456
    动态:628
    73,084
    总访问量
  • 93
    原创
  • 26
    粉丝
  • 18
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
加入CSDN时间: 2017-02-11
博客简介:

February13的博客

查看详细资料
个人成就
  • 获得33次点赞
  • 内容获得4次评论
  • 获得69次收藏
  • 博客总排名1,946,991名
创作历程
  • 1篇
    2024年
  • 80篇
    2023年
  • 3篇
    2022年
  • 26篇
    2020年
成就勋章

TA关注的专栏 3

TA关注的收藏夹 0

TA关注的社区 12

TA参与的活动 0

兴趣领域 设置
  • 人工智能
    机器学习神经网络自然语言处理数据分析
创作活动更多

「谁说嵌入式只是调包和焊板子?」—— 2026嵌入式全栈技术征锋令

谁说嵌入式只会“Ctrl+C 调包”和“拿电烙铁焊板子”?2026嵌入式全栈技术征锋令正式启幕! 本次活动专为硬核硬件/软件开发者打造,无论你是刚玩转裸机外设的萌新,还是精通RTOS调度、死磕底层驱动的行业老手,亦或是执掌系统架构的大神,这里都是你证明实力的舞台! 拒绝表面功夫,每一行代码,都有撬动硬件的力量!晒出你的硬核工程实战,为嵌入式开发者的全栈硬实力正名!

213人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

python实现for循环多线程执行

【代码】python实现for循环多线程执行。
原创
博文更新于 2024.01.12 ·
1696 阅读 ·
7 点赞 ·
0 评论 ·
11 收藏

sparksql broadcast join opt

to_utc_timestamp(current_timestamp,‘GMT-8’) as etl_load_time --数据入湖时间。from dm_secure.dm_fin_pnl_sams_item_pnl_di – sams商品日销售损益宽表。
原创
博文更新于 2023.10.10 ·
360 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

大数据杂谈

大数据开发方向偏业务侧方向-项目经理如何在面试中说服面试官根据课程项目做一些改动(变成自己熟悉的东西),形成一个新的项目,去增强面试的能力数据湖是数仓的增强版本格式管理数据管理时间旅行manifestsschema演变分区演变
原创
博文更新于 2023.09.23 ·
266 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

订单正逆向流程

提示:以下是本篇文章正文内容,下面案例可供参考订单业务线性流程。
原创
博文更新于 2023.09.23 ·
1508 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

linux知识

13.sed 行处理命令 -i直接将结果写入目标文件 [address 指定第几行]s搜索/new/old/g 全局 2每一行的第2个匹配。永久有效 vim /etc/profile ->export name=1 ->source /etc/profile。第二种g 全局匹配 第三种 不写 与写1相同。1.vi 删除-dd i-insert 最后一行-G 第一行-g 查找-/ 替换-:s/old/new/g。awk '($1~ /world/){print $0}' file (第几行 ~匹配!
原创
博文更新于 2023.09.22 ·
456 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

排序算法简述

mapreduce中的排序算法即作用归并排序(Merge sort)是建立在归并操作上的一种有效、稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并总结:归并是将子序列合并的意思,合并的方法是用辅助列实现。快速排序:使用递归的思想,设定分界值,其左侧和右侧,将小于分界值的数据放在左侧,大于分界值的数据放在右侧;
原创
博文更新于 2023.08.19 ·
301 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ZooKeeper

ZooKeeper。
原创
博文更新于 2023.08.07 ·
725 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

SparkSQL

工具连接spark使用sparkSql访问Hive表,就要用到一个东西SparkThirdService;这东西就类似java jdbc连接,连接。的hiveService2这种东西;#进入Spark安装目录。
原创
博文更新于 2023.08.06 ·
598 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

semi、anti join

这就导致右表有重复值得情况下 left semi join 只产生一条,join 会产生多条,也会导致 left semi join 的性能更高。left anti join与left semi join相反,是以左表为准,在右表中查找匹配的记录,如果查找成功,则返回null,否则仅返回左边的记录。给 map 阶段,因此left semi join 中最后 select 的结果只许出现左表。1、left semi join 的限制是, JOIN 子句中右边的表只能在。2、left semi join 是。
原创
博文更新于 2023.08.06 ·
652 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

hive谓词下推

原创
博文更新于 2023.08.01 ·
157 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

海量数据存储组件Hbase

hdfshbaseNoSQL数据库 支持海量数据的增删改查 基于Rowkey查询效率特别高kudu介于hdfs和hbase之间hbase依赖hadoop+zookeeper,同时整合框架phoenix(擅长读写),hive(分析数据)k,v 储存结构稀疏的(为空的不存储)、分布式的、持久地、多维排序map-》映射:行键、列键、时间戳,未解释的(序列化的,存储效率高)
原创
博文更新于 2023.07.30 ·
875 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

f2主键增量算法修历史

3.需要修数据的arcdt分区中分为要修的t1和不修的数据t3,要修数据即为t1,不修的数据为拉链表中要修数据的分区中所有数据减去t1(这个地方需要主键加开始日期做筛选)4.t1、t2、t3三部分整合到一张表即可,注意t1和t3是同分区,需要先insertoverwrite再insertinto。1.先使用sa0615数据筛选出拉链表中所有相关主键数据,从中按主键分组,arcdt取最小一条,放临时表t1中。2.通过临时表t1筛选与修数据无关的arc_dt分区字段值,这些部分为t2全部直接回插。
原创
博文更新于 2023.07.27 ·
351 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spark3新特性

spark3.0动态分区裁剪:与逻辑计划的谓词下推静态优化不同,这个是运行时的动态优化特性,如案列中小表的过滤,其实是基于维度表的裁剪的基础上,在join关联之前提前检测另一张事实表中对应条件的数据进行提前过滤。动态调整JOIN策略:类似于mapjoin优化,将sortMergejoin转换成broadcasthashjoin,也就是将小表当作广播变量分发到另一个表的所有节点上,如此可以减少大量的网络IO。实现运行时优化,纠正因统计信息不准确导致生成的逻辑计划不完善或有误的问题。
原创
博文更新于 2023.07.16 ·
528 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spark高级特性

sortShuffle比hashShuffle好的地方在于,sortShuffle是每个task(并行度)产生一个文件,而hashShffle是按hash分区来的,一个task会产生多个文件,增加了网络IO。spark shuffle 中 map 和 reduce 是一个相对的概念,map是产生一批数据,reduce是接收一批数据,前一个任务是map,后一个任务是reduce。hashShuffle:hash分组,一个task里面按hash值的不同,分到不同的组里,在内存中也是独立的。
原创
博文更新于 2023.07.16 ·
463 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

面试怎么说

3.3 对考官来说也是个学习的机会。2.2思维逻辑清晰,表达流畅。3.1 不说前东家或自己的坏话。3.2 往自己擅长的地方说。2.1 一二三层次表达。不在于你说了什么,而在于你怎么说。
原创
博文更新于 2023.07.15 ·
1590 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

sparkSQL UDF

sparksql只能创建UDF,使用 SparkSession.udf.register()指定一个schema,df说白了是一个二维数组。
原创
博文更新于 2023.07.15 ·
653 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

SparkCoreDAG

窄依赖:规整的内存迭代计算管道(pip line)执行(就是一个个具体的task),一个线程对应一个窄依赖,线程间互不影响。一个action会产生一个JOB(DAG)(即一个应用程序内的子任务) 一个action=一个Job=一个DAG。带有分区的DAG只有在运行的时候才会生成,因为像指定并行度的逻辑,只有运行的时候才知道你传入的参数是多少。rDD在横向上一个task可以处理多个RDD一个分区,竖向上每个分区都需要有一个task去处理。dag的作用是使用内存计算,stage的作用是构建内存计算。
原创
博文更新于 2023.07.11 ·
305 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

pyspark

连接命令:一个application 大任务可以分解成 多个小任务 jobs, 一个job又可以分解成多个 stages 阶段,一个stage又可以分解成 多个tasks(可以认为是两个线程)standalone Zookeeper 高可用HA,集群中存在多个master,但最先注册的成为active,其它是standby,集群包含Worker、Driver、Applicationmaster由resource manager 担任work由node manager担任。
原创
博文更新于 2023.07.11 ·
497 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

PySpark的RDD持久化

>1. RDD缓存 ,把某个RDD保留,rdd.cache() 缓存到内存,rdd.persist(StorageLevel.DISK_ONLY_2) 缓存到本地硬盘上,2个副本,不支持存HDFS,保留血缘关系。-> 2.RDD Checkpoint 仅支持存硬盘,设计上安全,不保留血缘关系(后台执行计划可体现)RDD迭代链条中只有最新的RDD,旧RDD会销毁,节省内存空间。缓存的原理是写到对应节点的服务器上的本地内存或磁盘上。追溯旧RDD是依照血缘关系,使用持久化技术。
原创
博文更新于 2023.07.09 ·
221 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MySQL语法底层

查询的过程大致如下:1、选取一张表,我们称之为【驱动表】,从驱动表中开始查询,找到满足条件的数据(如果没有条件就依次全部取出)。2、根据从驱动表查询的这条数据,以及其他条件,去第二张【被驱动表】中查询,并将结果进行拼接。3、依次类推,从驱动表获取第二条数据,使用该数据和条件,再次查询【被驱动表】进行查询。4、整个过程,会查询【驱动表】一次,查询【被驱动表】多次。
原创
博文更新于 2023.07.09 ·
199 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多