- 博客(100)
- 问答 (1)
- 收藏
- 关注

原创 spark:一文详解pyspark中sql的join
我们是通过学生表的sclass和班级表的cid将两张表关联在一起,所以定义join表达式如下。
2024-01-20 17:51:27
1976
原创 spark:一些概念如并行度、分区数、task,stage等
在Spark中,动态分区(Dynamic Partitioning)是一种在写入数据到Hive表时,根据数据本身的属性来决定分区键的值,从而实现自动分区的功能。与静态分区需要预先定义分区键不同,动态分区使得分区更加灵活,能够适应不断变化的数据。Executor的数量和每个Executor的核数共同决定了Spark集群的总计算资源,从而影响实际的并行度。因此,分区数直接决定了并行度的上限。这是因为如果分区数小于并行度,即使设置的并行度很大,但是没有那么多分区数来运行,所以实际的并行度会比设置的并行度小。
2024-09-28 13:26:00
664
原创 python中的ChainMap
ChainMap 的另一个优点是,如果你修改了内部字典之一中的值(在它们被添加到 ChainMap 之后),这个更改也会反映在 ChainMap 的视图中,因为 ChainMap 实际上是在“链接”到这些字典,而不是创建它们的副本。然而,请注意,如果你添加了一个新的键到 ChainMap,这个键将只会被添加到它底层的第一个字典中(在这个例子中是 app_env)。你可能有一个系统级别的环境变量集,一个用户级别的环境变量集,以及一个特定于应用程序的环境变量集。示例:模拟环境变量的层次结构。
2024-09-03 17:25:17
448
原创 千字长文讲解python的魔法函数、反射
a.__new__和__init__的区别: __new__负责创建类的实例,__init__负责初始化类的实例。a.__getattribute__(self, xxx):访问对象的任意属性时被自动调用。c.__init__初始化类的实例是由__new__方法传递过来的,也就是这里的self。d.__delattr__(self, xxx):当删除对象的xxx属性时被调用。b.创建类的实例时,先调用__new__,再调用__init__a.__dir__():查看对象的方法和属性的名字。
2024-08-24 09:49:32
286
原创 千字长文讲解python生成器
a. 迭代器就是实现了__next__和__iter__方法(缺一不可)的对象,就叫迭代器。其中__iter__方法返回迭代器自身,__next__方法不断返回迭代器中的下一个值,直到容器中没有更多元素时抛出StopIteration异常,以终止迭代。a.在python的任意对象中,只要这个对象定义了可以返回一个迭代器的__iter__方法,或者定义了支持下标索引的__getitem__方法,那么它就是一个可迭代对象,通俗地讲就是可以通过for循环进行遍历了。5.为什么有了可迭代对象,还要有迭代器?
2024-08-17 16:14:35
383
原创 程序员如何平衡日常编码工作与提升式学习?
程序员平衡日常编码工作与提升式学习是一个重要的话题,因为技术领域日新月异,持续学习对于保持竞争力和提升个人能力是至关重要的。通过遵循这些建议,程序员可以在繁忙的工作中找到平衡,不断提升自己的技术能力,并在职业生涯中保持竞争力。
2024-08-16 19:00:48
175
原创 千字长文讲解python上下文管理器
一个类只要实现了__enter__()和__exit__()这两个方法,通过该类创建的对象我们就称之为上下文管理器。d.__exit__表示下文方法,with语句执行完成会自动执行__exit__方法,即使出现异常也会执行该方法。c.处理特定异常类:这个就是在__exit__方法中对异常类型进行判断,可以仅处理某类异常,或实现其他功能。ii.终止异常:__exit__方法可以终止它所接收的异常,这是通过返回True实现的。b.在本例中,open对应的类就实现了__enter__和__exit__方法。
2024-07-27 13:23:01
254
原创 千字长文讲解python闭包
a.在函数嵌套的前提下,内部函数使用了外部函数的变量,并且外部函数返回了内部函数,我们把这个使用外部函数变量的内部函数称为闭包。4.闭包和类相似,内部函数使用的外部函数的变量类似于类的属性。a.闭包可以保存函数内的变量,不会随着函数调用完而销毁。5.nonlocal可以在闭包内修改外部变量。c.nonlocal实现Counter。a.不使用nonlocal。b.使用nonlocal。
2024-07-20 12:57:22
391
原创 《深入理解计算机系统》:第一章
问题一个switch语句是不是总是比一系列的if-then-else语句高效得多? 一个函数调用的代价有多大? while循环比do循环更有效吗? 指针引用比数组索引更有效吗? 相对于用通过引用传递过来的参数求和,为什么用本地变量求和的循环,其运行就会快得多呢? 为什么两个功能相近的循环的运行时间会有很大差异? 链接器报告说它无法解析一个引用,这是什么意思? 静态变量和全局变量的区别是什么? 如果你在不同的C文件中定义了名字相同的两个全局变量会发生什么? 静态库和动态库的区别是什么?
2024-06-05 17:50:34
297
原创 《Python Cookbook》:第一章
使用*b解压序列,得到的b永远是一个list,b也可能是空list。星号解压语法在字符串操作的时候也会很有用,比如字符串的分割。
2024-04-27 18:30:57
187
6
原创 flask+uwsgi+nginx+cerbot配置
安装flask和uwsgi创建一个简单的flask应用(app.py)或者是自己的flask项目配置uwsgi,这里我给出自己的配置启动uwsgi配置Nginx (需要修改的是your_domain.com是域名,the_uwsgi_socket就写0.0.0.0,port和uwsgi配置中socket端口保持一致,我这里就是5000启动nginx安装Cerbot使用certbot为nginx配置https。
2024-04-27 10:50:34
668
4
原创 python将“{‘a‘:1}“和‘{“a“:None}‘转化为dict
-----------------------------------------------------分割线------------------------------------------------------------------包裹的json字符串,使用以下代码转化为dict会报错。使用以下代码转化为dict会报错。转化为d办法同样是使用eval。包裹的json字符串,一种可行的转化方法是。
2024-02-01 17:11:24
596
原创 flask分页宏增加更多参数
背景:我正在开发一个博客,核心的两个model是文章和文章类别。现在想要实现的功能是:点击一个文章类别,以分页的形式显示这个文章类别下的所有文章,类似这种效果。参考的书中分页宏只接受页数这一个参数,经过尝试,成功给分页宏添加了文章类别参数,实现了上述功能。关键代码。
2024-01-20 18:18:40
705
2
原创 查看docker容器内的pid和宿主机中pid的映射关系
从返回信息中可以看到容器内进程号和宿主机中进程号的对应关系,示例如下。注:Linux内核版本小于4.1用此方法。进入对应的容器,执行。
2024-01-17 15:37:34
1331
原创 ModuleNotFoundError: No module named ‘wtforms.ext‘
【代码】ModuleNotFoundError: No module named ‘wtforms.ext‘
2024-01-14 17:48:24
594
原创 {‘type‘: ‘illegal_argument_exception‘, ‘reason‘: ‘Limit of total fields [1000] has been exceeded‘}
【代码】{‘type‘: ‘illegal_argument_exception‘, ‘reason‘: ‘Limit of total fields [1000] has been exceeded‘}
2024-01-12 15:57:44
839
原创 python中的//
在处理整数和浮点数时的行为是不同的。对于两个整数的整除运算,结果将保持为整数类型。而如果至少有一个操作数是浮点数,则结果将为浮点数类型。,即 10 除以 3,结果为 3.33333。但由于使用了整除运算符。,所以结果被向下取整为 3。表示整除运算符,用于将。并向下取整得到商的结果。
2024-01-04 18:49:58
1192
原创 git将其他分支的提交合并到当前分支
或者,如果您想取消 cherry-pick 操作并回到操作之前的状态,可以使用以下命令。Git 将在当前分支上应用与指定 commit 相同的更改。替换为要合并的 commit 的实际哈希值。2. 如果存在冲突,请解决冲突并使用。命令将修改后的文件添加到暂存区。
2023-12-26 17:11:05
1015
原创 numpy:np.where多个筛选条件
想要筛选出“大于等于2并且小于等于4”的数字下标,首先尝试了如下写法。还有另外一种写法,使用np.logical_and来实现。给每个条件加上括号即可。
2023-12-24 15:23:31
1095
原创 spark:从表中采样(随机选取)一定数量的行
Spark会对表的每个分区进行采样,并根据采样结果计算总体的采样比例,然后从每个分区中选择相应比例的数据。使用一种伪随机函数或随机算法来选择采样的数据。然后,根据指定的采样比例或行数,从随机数序列中选择相应数量的随机数,并返回与这些随机数关联的行。通过使用随机算法和利用分布和分区信息来提供高效的随机采样功能。这种方法可以在大型数据集上提供快速的近似查询结果,同时减少了数据的传输和处理开销。是一种用于在数据库中进行随机采样的方法。它可以通过不同的策略从表中选择一部分数据进行查询,而无需扫描整个表。
2023-12-11 09:36:51
1988
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人