自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

原创 sql练习题3

增加新的字段作为计数字段,判断每个直播间的人数。

2025-02-09 21:38:01 233

原创 sql练习题2

从登录明细表(user_login_detail)中查询每个用户两个登录日期(以login_ts为准)之间的最大的空档期。请从配送信息表(delivery_info)中求出每个用户的首单(用户的第一个订单)中即时订单的比例,保留两位小数,以小数形式显示。从订单信息表(order_info)中统计每个用户截止其每个下单日期的累积消费金额,以及每个用户在其每个下单日期的VIP等级。订单配送中,如果期望配送日期和下单日期相同,称为即时订单,如果期望配送日期和下单日期不同,称为计划订单。设累积消费总额为X,

2025-02-08 11:28:04 325

原创 PySpark学习笔记5-SparkSQL

问题引出-想要对map算子中的数据进行计数累加,得到全部数据的累加结果。问题引出-本地列表对象和分布式的RDD对象有了关联,造成了内存浪费。如果多次使用会多次调用累加器,要是不想多次累加需要用缓存实现。统计t x t文件中单词数量和特殊字符数量。

2025-02-05 13:00:57 594

原创 Hadoop实战-电商离线数仓学习笔记4.0

1-ER模型根据实体关系建模,满足三范式规范2-维度建模区分事实表和维度表,事实对应业务过程,维度对应业务过程发生时所处的环境,事实是不可拆分的通过对开始日期和结束日期做约束,可以得到某时间点的全部数据切片日志表,活动信息表(全量),活动规则表(全量),品类表(全量),省份表(全量),品牌表(全量),优惠券表(全量)dtSTRING)商品维度表,优惠券维度表,活动维度表,地区维度表,日期维度表,用户维度表交易域加购事实表,交易域下单事务事实表,交易域支付成功事实表,

2025-01-22 01:26:12 454

原创 数据开发面经常见题整理-1

它只是将具有相同键的元素放在一个组中,形成一个包含键和其对应值的迭代器。reduce task对于所有的map拉取数据,对不同分区的数据进行合并,排序,将相同key值的数据放到一起,期间也会形成溢写文件和归并操作,根据聚合函数对value值进行操作,例如单词计数就是将键值累加起来,最后形成一个最终文件,存储在HDFS中。个人理解是根据公司的业务流程,将业务相同,统计周期相同,统计粒度相同的不同度量值和不同的聚合逻辑整合起来,方便根据需要的指标对数据进行分析提高查询效率,过程中要保证数据的准确性和一致性。

2025-01-20 21:46:15 1025

原创 数据库常见面试题-更新中

此外,Delete操作可能触发触发器,而Truncate和Drop不会,并且Drop的速度最快,Truncate次之,Delete最慢。索引是一种利用某种规则的数据结构与实际数据的关系加快数据查找的功能,在查找的时候遵循索引的规则可以快速查找到对应数据的节点,从而达到快速查找数据的效果,类似中文大字典的目录。‌B+树‌:只有叶子节点存储数据,内部节点仅存储键值,不存放具体的数据项,它们的作用是索引指向叶子节点的路径。‌B+树‌:查找数据的过程从根节点到叶子节点结束,非叶子节点仅用于索引定位,查找效率更高。

2025-01-17 11:23:14 878

原创 面试经验分享-回忆版某小公司

对于维度表,它存储的通常是离散型的数据,用于过滤数据,如果在维度表出现连续取值的数据要考虑将其放进事实表,要对维度进行合理的整合和拆分,在丰富维度属性的基础上维护维度的单一性,当维度表只有一个字段时,退化成事实表,可以减少关联次数,提高查询性能。pandas的dataframe能够很好的处理结构化和表格化数据,计算速度快,能够处理比较大量的数据,可以很容易的实现分组,聚合,排序等操作,并且支持多种文件读写,包括本地文件,SQL返回的数据等,并且基本不需要数据转换步骤。追问-如何避免重复消费。

2025-01-17 10:15:55 1493

原创 sql练习题1

要看昨日活跃用户数,返回值应该只有一行一列,按照条件控制日期,根据用户id对两个表进行连接操作,筛选用户工作年限3-5年(包含3年和5年)的行,对用户id进行去重和计数,得到过去一个月游戏行业活跃用户数。取出日期数据和用户id,按照条件控制日期在一个月之内,因为要计算每日活跃用户数,所以用日期作为分组条件,用户每日可能有多条活跃记录,要对用户id进行去重操作,实现查看每日活跃用户数的效果。根据用户id对两个表进行连接,通过限制条件北京和im拿出符合条件的数据,根据日期分组计算每天用户活跃时长的均值。

2025-01-16 14:51:19 341

原创 Spark常见面试题-部分待更新

1、基于哈希的shuffle操作:基于哈希的shuffle操作的原理在于将Mapper(stage)生成的中间数据,按照Reduce的数量(Reduce任务的数量取决于当前stage的RDD的分区数量)进行切分。前一个stage的ShuffleMapTask进行shuffle write,把数据存储在blockManager上面,并且把数据元信息上报到dirver的mapOutTarck组件中,下一个stage根据数据位置源信息,进行shuffle read,拉取上一个stage的输出数据。

2025-01-15 10:03:00 1252

原创 数据仓库基础常见面试题

其主要功能是作为数据进入数据仓库的缓冲区域,在这一层可以对数据进行简单的清洗和转换操作,比如去除明显的噪声数据、统一数据格式等,但不会进行复杂的数据处理。例如,采集的会员数据可能来自淘宝会员、支付宝会员等多个来源。· 在DWS层,就会以分析对象为建模驱动,把DWD清理好的一些表进行跨关联,建立面向业务主题的大宽表模型,为应用层提供统一的计算口径和数据标准,提高效率。确保维度的唯一性,如果某些维度表的维度属性很少,例如只有一个**名称,则可不创建该维度表,而把该表的维度属性直接增加到与之相关的事实表中。

2025-01-14 16:55:21 2260 1

原创 HIVE常见面试题

内部表数据存储的位置是hive.metastore.warehouse.dir(默认:/user/hive/warehouse),外部表数据的存储位置由自己制定(如果没有LOCATION,Hive将在HDFS上的/user/hive/warehouse文件夹下以外部表的表名创建一个文件夹,并将属于这个表的数据存放在这里);Hive中的分区是指将表的数据分割成不同的目录来存储,每个分区都有自己的目录。索引和优化:Hive对数据的操作依赖于MapReduce任务,而这些任务的优化依赖于Hive的元数据索引。

2025-01-07 18:38:51 1193

原创 Hadoop常见面试题

客户端向Name Node发送文件读取请求,Name Node寻找文件位置,查询文件块列表,将查询到的列表返回给客户端,构建文件到Data Node的映射,客户端根据返回的列表向Data Node请求读取数据,Data Node收到读取请求后,从本地磁盘读取数据并将数据块返回给客户端。在shuffle阶段,可以看到数据通过大量的拷贝,从map阶段输出的数据,都要通过网络拷贝,发送到reduce阶段,这一过程中,涉及到大量的网络IO,如果数据能够进行压缩,那么数据的发送量就会少得多。

2025-01-07 17:38:47 1241

原创 数据开发八股文整理- Hadoop

一旦Name Node断电,系统会合并Fsimage文件和Edits文件,合成新的元数据,其中Secondary Name Node专门用于合并两个文件,接替Name Node的工作。它是一个分布式运算框架,其中Map函数用于数据预处理,输入和输出都是键值对形式,处理好的数据会送入Reduce阶段,对每一组简直进行处理,形成最后的输出。5通过随机前缀重新设计键值,针对聚合类的数据倾斜,可以在map阶段添加随机后缀,是的分区的时候能够分到不同节点,然后再重新进行一次全局聚合。

2025-01-07 16:30:25 2204

原创 数据开发面经-回忆版(某公司非大厂)

一个表包含开始日期和结束日期以及数据,一个表包含每个月所有日期,要得到一个包含在开始日期和结束日期内所有日期的数据表格。spark中cache,persist,checkpoint的区别。给ID键创建索引,插入数据,删除数据,更新数据。数据仓库每一层的作用以及数据仓库为什么要分层。元组排序,先按照第一个排序,再按照第二个排序。对于一个x,一行代码打印出所有x。将当前时间写入test.txt。numpy操作随机生成的100。x模5余1的x值并从大到小排序。Yeild数据类型用法。

2025-01-06 23:46:15 396

原创 PySpark学习笔记4-共享变量,内核调度

spark会使用DAG图进行内存计算,DAG图会根据分区和宽窄依赖划分阶段,每一个阶段饿的内部都是窄依赖,这些内存迭代计算的管道形成一个个具体的执行任务,一个任务对应一个线程,任务在线程中运行,就是在进行内存计算。对于Spark过程,会按照宽依赖划分不同的DAG阶段,从后向前,遇到一个宽依赖就换分出一个阶段,成为stage,二每个stage的内部一定都是窄依赖。窄依赖:父RDD的一个分区,将全部数据发给子RDD的一个分区。宽依赖: 父RDD的一个分区会将数据发给子RDD的多个分区。

2025-01-06 18:26:08 493

原创 PySpark学习笔记3-案例练习

首先对于数据可以用jieba库进行分词处理。需求2 用户和关键词组合分析。需求1 用户搜索关键词分析。需求3 热门搜索时间段分析。将代码提交到集群中运行。

2025-01-06 16:54:16 323

原创 PySpark学习笔记2-RDD算子,RDD持久化

rdd.sortByKey()按照键值进行排序,ascending确定升序和降序,numPartition确定分区大小,keyfunc确定排序之前最键值的处理方法。前者只有分组功能,但是后者除了分组功能还有聚合功能,后者在分区内会进行预聚合,在进行分组流程,被分组的数据量大大减少,提高了整体性能。rdd.union()合并两个RDD并返回一个RDD,只合并不去重,并且两个RDD的类型可以不同。rdd.distinct()对RDD数据进行去重,并返回新的RDD。

2025-01-06 16:32:35 760

原创 PySpark学习笔记1

python pandas库常用于小规模数据记得处理,Spark框架适合大规模数据的处理。核心SparkCore,SQL计算,流计算,图计算,机器学习。海量数据的计算,可以实现离线批处理和实时流计算。速度快,使用简单,通用性强,多模式运行。Executer 单任务执行者。Driver 单人任务管理者。Master 集群资源管理。Worker 单机资源管理。spark解决的问题。Spark有哪些模块。Spark的运行角色。

2025-01-06 14:16:45 90

原创 Hadoop实战-电商离线数仓学习笔记3.0

开窗,按照用户分区,dt(下单日期)升序排列,调用lead()函数获取后两行的dt取值,而后用datadiff计算与dt的天数差,记为diff,上文提到,如果是连续三日下单的记录,一定存在某条数据的diff为2。筛选diff=2的数据,即可获得所有满足条件的用户,如果连续下单的天数为4天及以上,那么同一用户满足条件的数据就不止一条,需要去重,因此调用count(distinct user_id)完成统计。确定每日装载的表结构和插入表数据的语句后,可以通过一整个sh脚本整合起来,用于每日装载的一次性执行。

2024-12-27 12:03:06 191

原创 Hadoop实战-电商离线数仓学习笔记2.0

按照时间间隔来记录事实,非常适合用来分析一些存量型指标,定期同步一份全量数据到数据仓库,构成周期型快照事实表,避免大量的历史记录聚合操作。其中中心的salesorder是事实表,存储的是整个业务过程的所有记录,周围都是维度表,记录时间地点人物等。应该尽量丰富,多选择与业务过程相关的信息,因为维度的丰富程度决定了维度模型能够支持的指标丰富程度。可以分为事务事实表,周期快照事实表和累计快照事实表三种,分别对应不同的业务场景。指的是每个业务过程的度量值(通常是可累加类型,例如次数,个数,金额等)

2024-12-25 12:39:30 285

原创 Hadoop实战-电商离线数仓学习笔记1.0

前提是创建了用户采集系统并将用户数据保存到业务数据库汇总可供使用。

2024-12-20 13:24:34 321

原创 基于聊天数据的用户画像分析

数据大小30万条。

2024-12-06 10:27:24 770

原创 HIVE学习笔记-Linux命令篇(补充)

nvl(T value,T default_value)如果value是null,返回默认值,如果不是null,返回value本身。year()得到年份quarter()季度month()月份day()日期dayofmonth()当前月份第几天。if(1 is 1,1,0)判断语句 isnull()判断是否为空isnotnull()是否不是null。hour()小时minute()分钟second()秒weekofyear()今年第几周。round()取整rand()随机数 abs()绝对值。

2024-12-05 12:35:35 280

原创 扩散模型文生图基础知识点

对于输入的图像,通过图像编码器,然后进入前向过程加入随机噪声,之后对于与图像对应的文本通过文本编码器生成文本向量,对于噪声图像和文本向量送入交叉注意力网络,两个输入首先经过Attention机制(将Context Embedding对应的语义信息与图片中对应的语义信息相耦合),输出新的Latent Feature,再将新输出的Latent Feature与输入的Context Embedding再做一次Attention机制,从而使得SD模型学习到了文本与图片之间的特征对应关系。

2024-12-05 10:40:56 444

原创 HIVE学习笔记–Linux命令篇

数据的划分基于分桶列的值进行hash取模决定,因为load不会触发MapReduce计算,所以无法执行hash算法,只是简单的进行数据移动,所以不能用于分桶表数据插入。本质上HIVE操作的还是hdfs中的文件默认在HIVE/warehouse,在mysql中存的都是元数据。分桶表数据加载不能用load data 执行,只能通过insert select,并且先创建一个中转表。分区试讲表放在不同文件夹存储,分桶就是将表拆分到固定数量的不同文件中进行存储。向中转表load数据后再insert到分桶表中。

2024-12-05 10:30:48 933

原创 hadoop学习笔记--Linux命令篇

hdfs dfs -put -f -p localpath hdfspath -f覆盖文件 -p保留访问时间和修改时间,所有权和权限。hdfs dfs -D dfs.replication=2 -put test.txt /temp/ 将此文件的副本数设置为2。hdfs dfs -ls -h -R path -h显示文件大小 -R地柜查看制定目录及其子目录。hdfs dfs -rm -r -skipTrash (跳过回收站直接删除) path。删除hdfs文件,删除文件夹加上-r。

2024-12-03 22:06:18 309

原创 hadoop入门学习笔记

Map提供分散的功能,分散数据让服务器处理,reduce的功能是聚合,将分布式的处理结果汇总统计。

2024-12-03 22:03:40 461

原创 Ubuntu安装db2提示缺少依赖包

Ubuntu系统下安装db2数据库是提示缺少依赖包。

2023-12-07 16:18:05 148 1

原创 python实现摄像头图像数据的读取

摄像头读取图片

2023-12-07 16:09:24 528 1

SQLSelect.sql

SQL基础查询语句五十条,可用于SQL数据库练习,其中包含详细的注释,非常适合新手练习,也可以用于期末复习

2020-04-17

空空如也

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

TA关注的人

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