
Spark
文章平均质量分 84
TURING.DT
科技改变世界,技术改变人生。
展开
-
Spark任务内存优化记录
前两天又接了一个Spark任务,倒不复杂,依然是检索HDFS上的日志数据这样的事情。不过瞅着组内跑着十几二十个任务内存一共只有160来G的yarn集群,有些欲哭无泪。事情还是要做的,反正执行时间要求不太严格,只能想办法尽量压缩内存的占用了。先说下背景:现在使用的yarn集群由8个容器组成,每个容器的内存大概20G;工作内容是检索数据,源数据大概1T左右,取出来的目标结果数据在2~8G这样子。最开始的时候查询任务是直接使用sparkSql来完成。随着数据量的上升很快就遇到了最经典的两个问题:Sta原创 2021-02-20 11:17:39 · 560 阅读 · 0 评论 -
Pyspark Word2Vec + jieba 训练词向量流程
摘要:用商品描述为语料库训练商品词向量为例,分享一下用pyspark自带word2vec+jieba分词训练词向量的流程.工具:python,pyspark,jieba,pandas,numpy数据格式:自定义词典,语料库均为pyspark dataframe,停用辞典不大,直接使用txt.1 create spark我的pyspark参数设置如下:def create_spark(): sparkconf = SparkConf('jianwangzhilai') \原创 2020-08-13 20:15:20 · 1270 阅读 · 0 评论 -
Pyspark机器学习之Word2Vec(推荐系统内容相似)
Word2Vec简介Word2Vec是一个词嵌入方法,可以计算每个单词在给定的语料库环境下的分布式向量,如果两个单词的语义相近,那么词向量在向量空间中也相互接近,判断向量空间的接近程度来判断来两个单词是否相似。Word2Vec数学原理首先导入Word2Vec所需要的包,并创建可以代表文档的词语序列from pyspark.ml.feature import Word2Vecfrom pyspark.sql import SparkSessionspark= SparkSession原创 2020-08-13 20:07:19 · 1348 阅读 · 0 评论 -
Spark调优:提交job资源参数调优及内存模型调优
【场景】Spark提交作业job的时候要指定该job可以使用的CPU、内存等资源参数,生产环境中,任务资源分配不足会导致该job执行中断、失败等问题,所以对Spark的job资源参数分配调优非常重要。spark提交作业,yarn-cluster模式示例:./bin/spark-submit\--class com.ww.rdd.wordcount \--master yarn \--deploy-mode cluster \--executor-memory 4G \--num.原创 2020-06-23 17:39:09 · 759 阅读 · 0 评论 -
pyspark提交代码到yarn模式,报错ImportError: No module
上一篇:PySpark任务在YARN集群上运行 关联python包numpy pandas scipy 等问题:在提交ALS.train代码到yarn模式的时候,会出现如下报错:import numpy as npImportError: No module named numpy说pandas的的dependency numpy包不存在,但事实上install pandas时,numpy必定是已经装过的,所以就到处找,应该是环境没有设置解决方式:1. 创建虚拟python环境.原创 2020-06-23 15:20:45 · 1883 阅读 · 0 评论 -
Spark ALS 协同过滤(CF)如何将Str类型的userID或itemID转换为Rating中要求的int类型
/*** 问题:* 在对数据进行训练时,Rating要求的是int,int,double,但是现有的数据是long,string,double类 型,使用toInt进行转换时依然会报错,这是因为long类型转换成int类型已经超出了int的最大值。** 解决思路:* 创建两张映射表,将long类型的字段映射成int类型(使用row_number()添加自增序列),然后拿映射的* 字段进行训练,训练完成后,再将映射的字段转换成原有字段,而后进行推荐。*...原创 2020-06-09 11:48:45 · 1034 阅读 · 0 评论 -
spark DataFrame 基本操作函数
DataFrame 的函数Action 操作1、 collect() ,返回值是一个数组,返回dataframe集合所有的行2、 collectAsList() 返回值是一个Java类型的数组,返回dataframe集合所有的行3、 count() 返回一个number类型的,返回dataframe集合的行数4、 describe(cols: String*) 返回一个通过数学计算的类表值(count, mean, stddev, min, and max),这个可以传多个参数,中间用逗号分隔,如果原创 2020-06-09 11:34:37 · 2939 阅读 · 3 评论 -
通过Spark访问Hbase的Hive外部表(hive on hbase的表)
业务处理的过程中,使用到pyspark访问hive,直接访问没有问题,后面遇到使用pyspark访问hive关联hbase的表(hive on hbase),就出现报错了。首先集群已经可以通过spark-sql读取hive的数据,然后进行如下配置。1.拷贝如下jar包到${spark_home}/jars(spark2.0之前是${spark_home}/lib): hba...原创 2020-02-24 15:16:05 · 2925 阅读 · 3 评论 -
pyspark读取hive数据写入到redis
1、首先把redis包引入工程,这样就不需要在集群里每台机器上安装redis客户端。$pip install redis$cd /usr/local/lib/python3.6/dist-packages/ 找到自己环境的路径$zip -r redis.zip redis/*$hadoop fs -put redis.zip /user/data/2、在代码里使用 addPyFile加...原创 2020-02-19 10:57:55 · 3835 阅读 · 2 评论 -
Spark ALS算法理解
ALS算法ALS的意思是交替最小二乘法(Alternating Least Squares),它只是是一种优化算法的名字,被用在求解spark中所提供的推荐系统模型的最优解。spark中协同过滤的文档中一开始就说了,这是一个基于模型的协同过滤(model-based CF),其实它是一种近几年推荐系统界大火的隐语义模型中的一种。隐语义模型又叫潜在因素模型,它试图通过数量相对少的未被观察到的底层原...原创 2020-01-09 14:14:08 · 2151 阅读 · 0 评论 -
pyspark读取hive数据实例
使用pyspark读取hive中的数据,测试代码:vi test.py#!-*- coding:utf-8 -*-from pyspark import SparkConf, SparkContextfrom pyspark.sql import HiveContextconf = (SparkConf().setMaster("yarn").setAppName("My ap...原创 2020-01-07 17:48:01 · 6383 阅读 · 0 评论 -
model.save(sc,'fname')异常Exception in thread "dag-scheduler-event-loop" java.lang.StackOverflowError
最近在使用pyspark保存model的时候出现Exception in thread "dag-scheduler-event-loop" java.lang.StackOverflowError报错,网上搜索了一下找下如下解决方案,有效。解决方法:操作步骤一1.连接上提交spark-submit的服务器,输入下面命令,可以看看默认的栈大小,我的是1Mjava -XX...原创 2020-01-07 15:50:24 · 1030 阅读 · 0 评论 -
在Linux Centos7 上使用pyspark Notebook
首先安装anaconda 参考:https://blog.youkuaiyun.com/levy_cui/article/details/80898739https://blog.youkuaiyun.com/levy_cui/article/details/51143153anaconda安装时已经有了jupyter notebook,所以只需要配置好就可以!一、添加root启动权限如果输入 j...原创 2019-12-06 11:47:08 · 552 阅读 · 0 评论 -
PySpark任务在YARN集群上运行 关联python包numpy pandas scipy 等
使用pyspark的时候代码会依赖numpy pandas scipy 等,这时候需要将相关的环境包一起提交,如何提交环境包文件,参考如下:Spark Application可以直接运行在YARN集群上,这种运行模式,会将资源的管理与协调统一交给YARN集群去处理,这样能够实现构建于YARN集群之上Application的多样性,比如可以运行MapReduc程序,可以运行HBase集群,也可以...原创 2019-12-04 11:46:32 · 2490 阅读 · 0 评论 -
spark on yarn报错ERROR GPLNativeCodeLoader: Could not load native gpl library
启动spark-sqlspark-sql --master yarn-client --executor-memory 1G报错:16/03/30 14:45:32 WARN BlockReaderLocal: The short-circuit local reads feature cannot be used because libhadoop cannot be load原创 2016-04-13 14:31:36 · 4147 阅读 · 0 评论 -
Spark On YARN自动调整Executor数量配置 - Dynamic Resource Allocation
Spark 1.5.2版本支持为Spark On YARN模式的Spark Application根据Task自动调整Executor数,要启用该功能,需做以下操作:一:在所有的NodeManager中,修改yarn-site.xml,为yarn.nodemanager.aux-services添加spark_shuffle值,设置yarn.nodemanager.aux-services原创 2016-04-13 14:31:38 · 4601 阅读 · 0 评论 -
Spark资源参数调优参数
Spark资源参数调优了解完了Spark作业运行的基本原理之后,对资源相关的参数就容易理解了。所谓的Spark资源参数调优,其实主要就是对Spark运行过程中各个使用资源的地方,通过调节各种参数,来优化资源使用的效率,从而提升Spark作业的执行性能。以下参数就是Spark中主要的资源参数,每个参数都对应着作业运行原理中的某个部分,我们同时也给出了一个调优的参考值。num-exec转载 2016-05-03 18:18:08 · 3647 阅读 · 0 评论 -
Spark下使用python写wordCount
安装spark就省略了,网上很多方法。test-data.txt文件a b caaabbbccca b cc bavi wordcount.py#!/usr/bin/env python#-*-conding:utf-8-*-import loggingfrom operator import addfrom pyspark impor原创 2016-11-18 14:46:43 · 5106 阅读 · 2 评论 -
spark history server内存不足服务自动挂掉
版本:Spark 1.5.2 built for Hadoop 2.4.0今天spark的history server自己挂掉了,查看日志:16/05/13 14:12:30 WARN DFSClient: Failed to connect to /192.168.2.77:50010 for block, add to deadNodes and continue. java.ni原创 2016-05-13 17:33:52 · 6216 阅读 · 0 评论 -
使用spark mllib预测用户对电影的评分
实例目的:使用spark机器学习模型预测用户对mid的评分1、训练数据格式(用户uid,电影mid,评分rating)$more train.csv0,0,20,8,40,13,10,18,30,34,30,38,40,44,50,59,20,115,50,555,20,568,40,588,31,38,31,44,51,59原创 2017-03-30 11:38:29 · 2647 阅读 · 0 评论 -
Spark朴素贝叶斯(naiveBayes)实践
介绍Byesian算法是统计学的分类方法,它是一种利用概率统计知识进行分类的算法。在许多场合,朴素贝叶斯分类算法可以与决策树和神经网络分类算法想媲美,该算法能运用到大型数据库中,且方法简单,分类准确率高,速度快,这个算法是从贝叶斯定理的基础上发展而来的,贝叶斯定理假设不同属性值之间是不相关联的。但是现实说中的很多时候,这种假设是不成立的,从而导致该算法的准确性会有所下降。运用场景原创 2017-04-01 17:43:03 · 4373 阅读 · 0 评论 -
spark RDD分区2GB限制(Size exceeds Integer.MAX_VALUE)
最近使用spark处理较大的数据文件,遇到了分区2G限制的问题,spark日志会报如下的日志:WARN scheduler.TaskSetManager: Lost task 19.0 in stage 6.0 (TID 120, 10.111.32.47): java.lang.IllegalArgumentException: Size exceeds Integer.MAX_VALUE原创 2017-08-25 15:17:32 · 9111 阅读 · 0 评论 -
maven编译spark1.6.2
1.1 搭建环境1.1.1 安装并设置maven1. 下载maven安装包,建议安装3.0以上版本,本次安装选择的是maven3.3.3的二进制包,下载地址如下http://mirror.bit.edu.cn/apache/maven/maven-3/2. 使用ssh工具把maven包上传到/home/hadoop/upload目录3. 解压缩apache-mave原创 2016-04-13 14:31:33 · 1393 阅读 · 0 评论