★★Pyspark基础
文章平均质量分 54
Pyspark基础
维格堂406小队
人天生都是软弱的,唯其软弱而犹能承担起苦难,才显出人的尊严。
展开
-
PysparkNote006---pycharm加载spark环境
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cNRvCHDO-1690362477564)(https://github.com/weigetang406team/pic_set/blob/main/2023Q1/04_pycharm_with_pyspark.jpg?raw=true)]2023-07-26 阴 于南京市江宁区。pycharm配置pyspark环境,本地执行pyspark代码。spark安装、添加环境变量不提了。原创 2023-07-26 17:08:31 · 1044 阅读 · 0 评论 -
PysparkNote006---rdd的flatMap
在有些场景下,比如对df做操作,需要保留某些列,并且做些列之间复杂计算时,需要把最终结果再还原成dataframe时,比较好用。2023-07-26 阴 于南京市江宁区。flatmap()是将函数应用于RDD中的每个元素,将返回的迭代器的所有内容构成新的RDD。map()是将函数用于RDD中的每个元素,将返回值构成新的RDD。写的比较抽象,可以看下面第二个blog,有图讲的清晰些。对于map来说,dataframe的一行是元素,原创 2023-07-26 15:35:35 · 107 阅读 · 0 评论 -
PysparkNote105---udf的使用
pyspark udf的使用。原创 2022-09-04 17:18:25 · 162 阅读 · 0 评论 -
PysparkNote104---join表关联
pyspark join用法,看看api是不是就够了。。。。原创 2022-08-04 16:48:56 · 307 阅读 · 0 评论 -
PysparkNote103---window滑窗
window滑窗函数的使用,主要是应用在一些统计场景。举例:统计下面每个人每15分钟点击次数。原创 2022-08-03 17:25:19 · 565 阅读 · 0 评论 -
PysparkNote102---DataFrame常用操作2
https://zhuanlan.zhihu.com/p/349016831 重复数据筛查 满足以下功能:筛选出重复的行。对某一个字段,筛选出重复的值对某几个字段筛选出重复的值1.1 重复行from pyspark.sql import SparkSession# 创建SparkSession对象,调用.builder类# .appName("testapp")方法给应用程序一个名字;.getOrCreate()方法创建或着获取一个已经创建的SparkSessionspark =原创 2022-04-24 17:55:31 · 1457 阅读 · 0 评论 -
PysparkNote101---DataFrame行转列
sql里经常会遇到行转列or列转行,如果数据框为{“A”,[1,2])},需要行转列为{(“A”,1),(“B”,2)}。话不多说,直接看代码。import pyspark.sql.functions as Ffrom pyspark.sql import SparkSession# 创建SparkSession对象,调用.builder类# .appName("testapp")方法给应用程序一个名字;.getOrCreate()方法创建或着获取一个已经创建的SparkSessionspar原创 2020-09-18 16:17:57 · 569 阅读 · 0 评论 -
PysparkNote100---DataFrame常用操作
创建数据框构造两个数据集df1:用户基础属性,年龄、性别、注册时间df2:用户交易属性,交易时间、支付金额import pyspark.sql.functionsfrom pyspark.sql import SparkSession# 创建SparkSession对象,调用.builder类# .appName("testapp")方法给应用程序一个名字;.getOrCreate()方法创建或着获取一个已经创建的SparkSessionspark = SparkSession.bui原创 2020-05-18 23:27:57 · 379 阅读 · 0 评论 -
PysparkNote005---批量写入Redis
Intro 批量写redis,主要考虑两个点:数据分批-spark的foreachPartition批数据的分批插入redis,redis pipeline提交Code直接看代码import redisimport jsonimport randomimport pandas as pdimport functoolskey_list = [f"test_{str(i).zfill(3)}" for i in range(100)]value_list = [json.dum原创 2022-04-24 19:42:06 · 1854 阅读 · 0 评论 -
PysparkNote004---foreachPartition的参数传递
Intro pyspark批量写入数据库时,需要分批写入,批量写入时,只要建立一个连接,这样可以显著的提高写入速度。分批写入,容易想到foreachPartition,但是pyspark不能像scala那样df.rdd.foreachPartition(x=>{...})只支持df.rdd.foreachPartition(you_function)看下源码: def foreachPartition(self, f): """ Applie原创 2022-04-24 18:14:17 · 1689 阅读 · 0 评论 -
PysparkNote003---读取csv文件,插入hive表
直接上code%spark.pysparkschema = Nonesep = ','header = Truetf = spark.read.csv(path = '/models/Data/hive-campaignid.csv', schema = schema ,sep = sep, header = header)tf.createOrReplaceTempView("my...原创 2019-03-26 15:50:57 · 1336 阅读 · 0 评论 -
PysparkNote002---Win下JupyterNoteBook配置pyspark
找到来填坑,安装的真费劲原创 2019-11-29 16:58:53 · 194 阅读 · 0 评论 -
PysparkNote001---Mac下JupyterNoteBook配置pyspark
下面这一通设置只是在我的电脑上走通了,参考性存疑。可以多看看文中的参考文章。 每一次安装环境都是伤筋动骨的,心塞塞。由于线上zeppline实在是不太友好,而且和集群相关联,怕有所影响。所以本地安装pyspark,以便学习所用。1. 环境Mac:macOS High Sierra 10.13.4Spark:spark-2.3.0-bin-hadoop2.62. Spark安装2....原创 2018-12-12 11:25:24 · 634 阅读 · 0 评论