spark
spark spark spark
WGS.
道阻且长,与君共勉:你若对得起时间,时间便会对得起你。
展开
-
pyspark --- 统计多列的众数并一次返回
pyspark 统计多列众数,并一次返回,众数填充缺失原创 2022-07-13 15:52:45 · 913 阅读 · 0 评论 -
pyspark --- 空串替换为None
pyspark 空串替换null原创 2022-07-13 15:42:46 · 716 阅读 · 0 评论 -
pyspark @udf 循环使用变量问题
pyspark @udf 在循环中使用时变量始终是第一轮循环的问题原创 2022-06-22 10:05:10 · 644 阅读 · 0 评论 -
pyspark---低频特征处理
pyspark---低频特征处理demo示例原创 2022-06-14 11:05:06 · 281 阅读 · 1 评论 -
pyspark---对suuid区间编码(基于曝光数、点击数)
pyspark---对suuid区间编码原创 2022-06-07 16:15:13 · 334 阅读 · 0 评论 -
pyspark 提交文件到集群
PYSPARK_PYTHON=/data/anaconda3/bin/python3 \/opt/spark/bin/spark-submit \ --master yarn \ --deploy-mode client \ --driver-memory 50g \ --driver-cores 20 \ --executor-memory 50g \ --num-executors 3 \ --executor-cores 20 \ --原创 2021-11-05 15:44:09 · 1197 阅读 · 0 评论 -
pyspark 分组对某列取方差
from pyspark.sql.functions import udf@udfdef ecpm_var_fn(ecpms): if len(ecpms) == 1: return 0.0 else: return float(np.var(ecpms)) da_gb = source_data.groupby('alpos_id').agg(fn.collect_list('ecpm').alias('ecpm'))ecpm_var原创 2021-07-02 14:08:33 · 450 阅读 · 2 评论 -
pyspark提交作业,导入第三方包,包括whl文件
测试代码from pyspark import SparkConf, SparkContextimport addimport multimport tracebackimport osimport pandas as pd def getResult(x): a=add.add(len(x),1)#并行计算中用到的自定义函数add b=mult.mult(a,2)#并行计算中用到的自定义函数mult b=pd.to_datetime(b)#并行计算中用到panda.转载 2021-06-29 10:41:48 · 967 阅读 · 0 评论 -
pyspark---float() argument must be a string or a number, not ‘builtin_function_or_method‘
错误的提示很明显了,我们的np.array里的列表,肯定是含有对象的,local提交打印出来看看:果然,count是Row的内置方法,而我exodata_residual恰好有个count的列。修改列名即可。原创 2021-07-21 10:12:14 · 2788 阅读 · 0 评论 -
pyspark mapPartitions用法
mapPartitions 对一个分区进行操作,如果要实现向map一样的处理,函数里面需要遍历分区中的每一行。def f(partitionData): for element in partitionData: pass # return updated data df.rdd.mapPartitions(f)+---------------+-----+| name|bonus|+---------------+-----+| James,S原创 2021-11-05 15:37:03 · 3913 阅读 · 0 评论 -
pyspark groupby分组 遍历分组后的数据(每一行)
文章目录假数据截图先来看一下描述groupby分组图例pandas groupby分组图例pyspark groupby分组图例实现思路注意:本文的分组,并没有聚合假数据截图先来看一下描述这里分组没有聚合原来pandas的groupby处理是对根据id分组后的每个组的df进行处理,方便理解起见看如下代码块:换句话说,pandas里的groupby之后是可以遍历的,也就是可以遍历分组后的每个小df,如下:# pandas实现def pandas_gb(data): # 根据id原创 2021-06-28 14:36:02 · 8019 阅读 · 7 评论 -
Spark中的DataFrame与Pandas中的DataFrame
文章目录Pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换Spark与Pandas中的DataFrame的区别例子Pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换# pandas转sparkvalues = pandas_df.values.tolist()columns = pandas_df.columns.tolist()spark_df = spark.createDataFrame(values, colu原创 2021-03-25 16:00:50 · 530 阅读 · 0 评论 -
Linux下配置pyspark环境
文章目录下载安装包解压文件在启动PySpark之前,需要设置以下环境来设置Spark路径和 Py4j路径现在我们已经设置了所有环境,让我们转到Spark目录并通过运行以下命令调用PySpark shell下载安装包https://spark.apache.org/downloads.html这里就安装最新版了解压文件tar -zxvf /export/spark-3.1.1-bin-hadoop2.7.tgz -C /export/service/在启动PySpark之前,需要设置以下环原创 2021-03-22 22:33:56 · 1605 阅读 · 2 评论 -
pyspark---ERROR DiskBlockObjectWriter: Uncaught exception while reverting partial writes to file:...
[Stage 185:> (0 + 1) / 22]21/04/14 20:11:48 ERROR DiskBlockObjectWriter: Uncaught exception while reverting partial writes to file C:\Users\Administrator\AppData\Local\Temp\blockmgr-49a89b4a-7ff8-4ad原创 2021-04-15 09:40:54 · 750 阅读 · 0 评论 -
pyspark---将list作为df的新列添加
python中的list不能直接添加到dataframe中,需要先将list转为新的dataframe,然后新的dataframe和老的dataframe进行join操作, 下面的例子会先新建一个dataframe,然后将list转为dataframe,然后将两者join起来。from pyspark.sql.functions import litdf = sqlContext.createDataFrame( [(1, "a", 23.0), (3, "B", -23.0)], ("x1"原创 2021-07-20 14:23:54 · 4037 阅读 · 0 评论 -
pyspark 链接MongoDB
文章目录连接部分代码spark提交代码然和可以读数据测试了连接部分代码config:指定链接的Mongo库和表from pyspark import SparkContext, SQLContext, SparkConffrom pyspark.sql import SparkSessionimport time, sys, warningsMONGOURI = 'mongodb://172.00.100.11:27017/{}.{}'.format('ad_portrayal', 'u原创 2021-08-11 15:35:26 · 855 阅读 · 0 评论 -
pyspark 向HDFS存json
文章目录hdfs包提交向HDFS读写jsonhdfs包提交链接: https://pan.baidu.com/s/12EsTYabf9ivxV0nLQ4yxYQ 提取码: aids 复制这段内容后打开百度网盘手机App,操作更方便哦下载我分享的hdfs.zip即可,集群提交PYSPARK_PYTHON=/data/anaconda3/bin/python3 \/opt/spark/bin/spark-submit \ --master yarn \ --deploy-mode原创 2021-08-25 18:21:36 · 943 阅读 · 0 评论 -
pyspark XGBoostRegressor的使用(保存并使用)
文章目录关于pyspark如何使用xgb参考我的这篇文章直接上代码提交作业参考文章:参数解释参考:sparkxgb源码:查看XGBoostRegressor参数关于pyspark如何使用xgb参考我的这篇文章https://blog.csdn.net/qq_42363032/article/details/118143537直接上代码def xgb_model(worthless_data): x_columns = [ 'impressions', 'clicks', 'r原创 2021-06-25 09:49:18 · 2264 阅读 · 0 评论 -
python pyspark-submit 保存模型到hdfs(全网之最)
文章目录原创 2021-06-30 18:56:31 · 2979 阅读 · 1 评论 -
pyspark 划分训练集、验证集、测试集(全网之最)
直接上代码,希望能帮到你def pos_neg_rate(df): sample_c = df.count() sample_pos_c = df.filter(df.y == 1).count() sample_neg_c = df.filter(df.y == 0).count() pos_rate_sample = sample_pos_c / sample_c neg_rate_sample = sample_neg_c / sample_c ret原创 2022-03-07 10:41:06 · 3470 阅读 · 0 评论 -
基于 pyspark 的编码、归一化、特征选择代码demo
文章目录pysparkencode用编码规则预估测试特征选择:方差过滤、卡方检验、树模型特征重要性sklearn特征选择pysparkencodelabel编码、归一化from pyspark.ml.feature import ChiSqSelectorfrom pyspark.ml.classification import GBTClassifier, DecisionTreeClassifierfrom pyspark.ml.feature import MinMaxScaler as原创 2022-03-26 14:38:50 · 2670 阅读 · 0 评论 -
pyspark 根据列表来筛选某列
from pyspark.sql import functions as fndata = data.filter(fn.col('alpos_id').isin(worthlessIds))data.show()原创 2021-07-06 15:18:42 · 1755 阅读 · 0 评论 -
pyspark ---python程序动态设置spark driver内存大小
以下面这种方式设置的driver memory是没用的sc = SparkContext('local[*]', 'ad_position')ss = SparkSession(sc).builder.master('local[*]') \ .config('spark.sql.shuffle.partitions', 1).config("spark.debug.maxToStringFields", "100")\ .config('spark.driver.memory', '4原创 2021-05-11 11:31:43 · 3703 阅读 · 2 评论 -
pyspark object of IntegerType out of range
来看完整报错:ValueError: field ad_position_id: object of IntegerType out of range, got: 2011082923279930很明显:IntegerType 对象超出范围出错代码:schema = StructType([ StructField('ad_position_id', IntegerType(), True),])valuable_data = ss.createDataFrame(valuable_d原创 2021-06-25 10:48:21 · 813 阅读 · 0 评论 -
pyspark 解决数据倾斜demo(两端聚合)(全网之最)
文章目录什么是数据倾斜什么是两端聚合案例图说明数据倾斜两端聚合解决数据倾斜案例图案例code假数据生成加盐局部聚合去掉随机串全局聚合汇总案例code什么是数据倾斜数据倾斜是一种很常见的问题(依据二八定律),简单来说,比方WordCount中某个Key对应的数据量非常大的话,就会产生数据倾斜,导致两个后果:OOM(单或少数的节点);拖慢整个Job执行时间(其他已经完成的节点都在等这个还在做的节点)。Shuffle时,需将各节点的相同key的数据拉取到某节点上的一个task来处理,若某个key对应原创 2021-08-20 16:40:45 · 1218 阅读 · 0 评论 -
pyspark --- 将df按照某一列展开
from pyspark import SparkContext, SQLContext, SparkConffrom pyspark.sql import SparkSessionimport warningsfrom pyspark.sql import functions as fnfrom pyspark.sql.types import StructField, LongType# sc = SparkContext(appName="AAA")sqlContext = SQLCo.原创 2021-12-03 10:41:44 · 1666 阅读 · 0 评论 -
pyspark mllib 二分类是以softmax作为输出的解释
直接上代码我用的是GBDT,预测结果如下:只给出关键代码gbdt = GBTClassifier(featuresCol="features", labelCol="y", predictionCol="prediction",)df_train_eval = model.transform(df_train)df_train_eval.select(*['y', 'rawPrediction', 'probability', 'prediction']).show(truncate=Fa原创 2022-03-07 15:44:05 · 2440 阅读 · 0 评论 -
pyspark DenseVector 转 array 或 float
文章目录假数据构造vector转arrayVector转array一个数值向量转float假数据构造tmpllist = [{'suuid': 'DoNewsa5a4de34-ec', 'ad':'110', 'y':1}, {'suuid': 'DoNewsa5a4de34-ec', 'ad':'10', 'y':1}, {'suuid': 'DoNewsa5a4de34-ec', 'ad':'03', 'y':0},原创 2021-10-28 15:48:56 · 1445 阅读 · 0 评论 -
Union can only be performed on tables with the compatible column types
记录spark unionAll的报错:Union can only be performed on tables with the compatible column typesTraceback (most recent call last): File "/opt/spark/python/lib/pyspark.zip/pyspark/sql/utils.py", line 63, in deco File "/opt/spark/python/lib/py4j-0.10.7-src.zi原创 2022-03-21 15:10:00 · 3028 阅读 · 0 评论 -
pyspark---SparkSession读取csv时,原来的UTC时间格式自动解析不正确的问题
先看一下csv文件数据(重点是原来的UTC格式的时间)我想要的效果是pyspark读取后,仍是这个UTC格式。看下你的读法是不是和下面一样。如果是解析的会有偏差sc = SparkContext('local', 'ad_position')ss = SparkSession(sc).builder.appName('ad_position').getOrCreate()data = ss.read.options(header='True', inferSchema='True').csv(原创 2021-04-27 17:08:39 · 383 阅读 · 0 评论 -
pyspark提交作业,引入需要的算法包 (xgboost)
先来看一下我的需求:有一个pyspark的作业需要集群提交,里面需要依赖dmlc的xgboost,当然集群上是没有的,这个时候很多人会说 ssh切换着pip不就好了吗,但是我现在用的集群是大数据那边的,不是我们算法的,不能破坏人家的环境,所以就想着submit的时候能不能将依赖包也提交上去。如果你的需求和我类似,那我可以告诉你,是可以的。思路如下:我们需要下dmlc xgb的源码包,whl格式的是不行的,我们不能安装依赖,需要--jars源码包。也就是submit提交的时候,--files和--jar原创 2021-06-23 09:47:00 · 1027 阅读 · 0 评论 -
docker 搭建pyspark环境
文章目录来看下Linux的demo文件目录software文件夹内容编写简单的demo.pydockerfiledocker builddocker run来看下Linux的demo文件目录software文件夹内容编写简单的demo.py'''from pyspark import SparkContextimport osos.environ['JAVA_HOME'] = '/home/software/jdk1.8.0_144' # 这里的路径为java的bin目录所在路径,我这原创 2021-04-10 15:52:56 · 1452 阅读 · 0 评论 -
pyspark 变量分箱代码实现
直接上代码:from pyspark.ml.feature import QuantileDiscretizerlis = [{'cli': 11}, {'cli': 0}, {'cli': 0}, {'cli': 3}, {'cli': 100}, {'cli': 76}, {'cli': 23}, {'cli': 2}, {'cli': 800}, {'cli': 9}, {'cli': 10}, {'cli': 100}, {'cli': 339}, {'cli': 678},原创 2021-10-28 16:48:59 · 2380 阅读 · 0 评论 -
pyspark---agg的用法
文章目录group by agg用法dataframe agg 直接计算group by agg用法pyspark中的agg聚合运算应该才能达到聚合字段的目的, apply的运算都是一行一行的运算且并没有真实的聚合.pyspark中已经对agg操作定义了很多方便的运算函数,可以直接调用来对其进行运算.from:+---------+-------------+-----+-------+-------+-------+-------+--------+|ID |原创 2021-04-12 14:27:00 · 7739 阅读 · 0 评论 -
pyspark 对df的某一列求方差
tmplst = [{'id': '1', 'f1': 'fff1', 'f2': 0.8, 'y': 1}, {'id': '2', 'f1': 'fff2', 'f2': 0.1, 'y': 0}, {'id': '3', 'f1': 'fff2', 'f2': 0.9, 'y': 0}, {'id': '4', 'f1': 'fff1', 'f2': 3.6, 'y': 1}, {'id': '5', 'f1':原创 2022-03-26 10:52:55 · 910 阅读 · 0 评论 -
pyspark 增加一列连续自增id
def flat(l): for k in l: if not isinstance(k, (list, tuple)): yield k else: yield from flat(k)def mkdf_tojoin(df): schema = df.schema.add(StructField("tmpid", LongType())) rdd = df.rdd.zipWithIndex()原创 2021-07-07 16:06:29 · 1084 阅读 · 0 评论 -
pyspark保存文件时报错---java.io.IOException: (null) entry in command string: null chmod 0644
window上运行pyspark程序出现java.io.IOException: (null) entry in command string: null chmod 0644解决方法:下载hadoop.dll文件,拷贝到c:\windows\system32目录中即可hadoop.dll可以在github上下载:https://github.com/4ttty/winutils百度网盘链接:https://pan.baidu.com/s/12-MMoz0LYSbEYl_GMiwb3A提取码原创 2021-04-13 10:54:22 · 360 阅读 · 0 评论 -
pyspark mllib 编码、训练、评估流程示例
直接上代码,希望能帮到你from pyspark.ml.feature import MinMaxScaler as MinMaxScalerSpark, VectorAssemblerfrom pyspark.ml.classification import GBTClassifier, GBTClassificationModelfrom pyspark.ml.evaluation import BinaryClassificationEvaluator, MulticlassClassifica原创 2022-03-08 09:55:07 · 556 阅读 · 0 评论 -
pyspark --- 归一化&Label编码
文章目录Label编码代码归一化代码以下代码块直接调用即可from pyspark.ml.feature import StringIndexer, StringIndexerModelfrom pyspark.ml import Pipeline, PipelineModelfrom pyspark.ml.feature import MinMaxScaler as MinMaxScalerSpark, VectorAssemblerLabel编码代码# label编码def labe原创 2021-09-13 16:16:18 · 1482 阅读 · 2 评论 -
pyspark里的SparkContext及RDD的基本demo
文章目录SparkContext介绍pysparkRDD的一些基本操作countcollectforeachfiltermapreducejoinSparkContext介绍SparkContext是任何spark功能的入口点。当我们运行任何Spark应用程序时,启动一个驱动程序,它具有main函数,并在此处启动SparkContext。然后,驱动程序在工作节点上的执行程序内运行操作。SparkContext使用Py4J启动 JVM 并创建 JavaSparkContext。默认情况下,PySpark原创 2021-03-26 18:08:35 · 1107 阅读 · 0 评论