pyspark
文章平均质量分 53
euler1983
Focus on Computer vision algorithms, medical imaging and AR.
展开
-
spark中使用uuid:一不小心就会掉坑里
背景项目使用pyspark开发一个大数据的程序,读入hive数据,各种运算后,得到一些结果写回到hive。程序中,有一步是调用uuid生成一个32位的唯一ID。df = df.withColumn('uuid', F.udf(lambda x: str(x.uuid1())))然后紧接着使用这个uuid作为外键,先groupby,然后与df进行了一次关联。问题上面的第2步,竟然关联不上。这就奇怪了,明明是用的同样的字段进行关联,没理由啊。后来看了下两个表,uuid的值原创 2022-05-11 22:16:39 · 1601 阅读 · 0 评论 -
spark中的资源配置总结
spark中有太多的概念,有时候会分辨不清。比如,什么是worker?什么是executor?每个worker有多少CPU核?是否设置得合理?要回答这些问题,首先要理解,spark-env.sh中的worker的配置是表示该worker能拿到的总资源。如图所示,设置SPARK_WORKER_CORES=4,代表每个worker的总CPU资源是4个逻辑核。worker就像是一个部门经理,握有资源,手下有具体干活的小弟:executors。根据手里资源的多少,可以决定招多少个小弟。原创 2022-05-06 13:14:34 · 1481 阅读 · 0 评论 -
pyspark 报错:local class incompatible的解决方法
1. 总结如果使用jupyter以standalone方式调试pyspark程序时,务必要保持driver端的pyspark版本与hadoop里的pyspark版本一致。2. 具体问题使用pyspark程序,如果报错类似:local class incompatible: stream classdesc serialVersionUID = -3328732449542231715, local class serialVersionUID = 4416556597546473068原创 2022-03-30 13:08:59 · 2511 阅读 · 0 评论 -
用yarn提交pyspark程序
首先验证sparkPi的demo可以运行成功如果这个跑不成功,检查下/usr/local/spark/conf/spark-env.sh里是否设置了yarn_conf_dir:用yarn提交pyspark程序报错:异常信息:pyspark.sql.utils.AnalysisException: ‘java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.h.原创 2021-06-27 11:52:45 · 1139 阅读 · 1 评论 -
pyspark报错JavaSparkContext. : java.lang.NullPointerException
pyspark在初始化spark程序时,报错:JavaSparkContext. : java.lang.NullPointerExceptionspark_master = 'spark://hadoop-master:7077'def init_spark(): '''init spark enviroment ''' configs = dict() configs["hive_metastore"] = os.environ.get("HIVE原创 2021-06-08 17:04:59 · 911 阅读 · 0 评论 -
实战pyspark基于yarn模式提交任务成功踩坑
1. 背景最近的项目使用yarn提交pyspark的任务,遇到了不少坑,目前已经成功地跑通了基于client和cluster两种模式的任务提交。特此记录一下。2. 平台原创 2021-06-04 15:59:04 · 2829 阅读 · 0 评论 -
基于hadoop+pyspark的graphframe
1. pin install graphframe2. 下载graphframe的jar包:https://spark-packages.org/package/graphframes/graphframes下载后的jar包复制进docker镜像里的pyspark/jars里:3. 将jar包复制进各个worker的jars路径下原创 2021-03-11 15:20:56 · 257 阅读 · 0 评论 -
pyspark 中dataframe 转 pandas时报错:Can only use .dt accessor with datetimelike values
使用pyspark将spark的dataframe转化为pandas的dataframe时,如果frame中"date"格式的数据,会报错:AttributeError: Can only use .dt accessor with datetimelike values验证数据确实是"date“格式的数据:原因&解决方案pyspark的datetime格式无法与pandas的时间类型格式datetime直接对应。需要转化为pyspark的timestamp格式:..原创 2021-02-04 08:56:50 · 2585 阅读 · 0 评论 -
pyspark上配置孤立森林算法
1. 安装maven2. 安装pyspark==2.4.03. 按照github: https://github.com/titicaca/spark-iforest里提示的两部进行操作原创 2020-08-19 18:00:46 · 797 阅读 · 0 评论 -
pandas dataframe 转 pyspark dataframe报错:ModuleNotFoundError: No module named ‘pandas‘
代码:# pandas df -> pyspark dfschema = T.StructType([ T.StructField("source_item", T.StringType(), True), T.StructField("tk_item_code", T.StringType(), True), T.StructField("tk_item_name", T.StringType(), True)])map_items_py = spark.crea原创 2021-01-28 11:00:33 · 878 阅读 · 0 评论 -
pyspark数据泄露问题
问题:最近遇到了一个很诡异的问题,运行pyspark程序的时候,有一个filter操作,每次运行的结果竟然不同。试验环境:两台服务器,一台起container,跑drive程序,用jupyter的方式连接到另外一台服务器上的pyspark集群。运行过程中,由于算力有限,有时候会重启jupyter。原因:重启jupyter后,spark的session并没有完全退出,变成了幽灵。再连接一个session后,session之间的数据就会串。正确做法:正确做法...原创 2020-12-10 17:04:01 · 227 阅读 · 0 评论 -
pyspark skills
用pyspark删除hdfs file sc = spark.sparkContext URI = sc._gateway.jvm.java.net.URI Path = sc._gateway.jvm.org.apache.hadoop.fs.Path FileSystem = sc._gateway.jvm.org.apache.hadoop.fs.FileSystem fs = FileSystem.get(URI("hdfs://hadoop-master:9原创 2020-12-01 13:17:54 · 188 阅读 · 0 评论