spark编程python实例

spark编程python实例

ValueError: Cannot run multiple SparkContexts at once; existing SparkContext(app=PySparkShell, master=local[])

1.pyspark在jupyter notebook中开发,测试,提交

1.1.启动

IPYTHON_OPTS="notebook" /opt/spark/bin/pyspark


下载应用,将应用下载为.py文件(默认notebook后缀是.ipynb)

在shell中提交应用

wxl@wxl-pc:/opt/spark/bin$ spark-submit /bin/spark-submit /home/wxl/Downloads/pysparkdemo.py

!

3.遇到的错误及解决

ValueError: Cannot run multiple SparkContexts at once; existing SparkContext(app=PySparkShell, master=local[*])
d*

3.1.错误

ValueError: Cannot run multiple SparkContexts at once; existing SparkContext(app=PySparkShell, master=local[*])
d*

ValueError: Cannot run multiple SparkContexts at once; existing SparkContext(app=PySparkShell, master=local[*]) created by <module> at /usr/local/lib/python2.7/dist-packages/IPython/utils/py3compat.py:288

3.2.解决,成功运行

在from之后添加

try:
    sc.stop()
except:
    pass
sc=SparkContext('local[2]','First Spark App')

贴上错误解决方法来源StackOverFlow

4.源码

pysparkdemo.ipynb

{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from pyspark import SparkContext"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "try:\n",
    "    sc.stop()\n",
    "except:\n",
    "    pass\n",
    "sc=SparkContext('local[2]','First Spark App')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "data = sc.textFile(\"data/UserPurchaseHistory.csv\").map(lambda line: line.split(\",\")).map(lambda record: (record[0], record[1], record[2]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Total purchases: 5\n"
     ]
    }
   ],
   "source": [
    "numPurchases = data.count()\n",
    "print \"Total purchases: %d\" % numPurchases"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}

pysparkdemo.py


# coding: utf-8

# In[1]:

from pyspark import SparkContext

# In[2]:

try:
    sc.stop()
except:
    pass
sc=SparkContext('local[2]','First Spark App')

# In[3]:

data = sc.textFile("data/UserPurchaseHistory.csv").map(lambda line: line.split(",")).map(lambda record: (record[0], record[1], record[2]))

# In[4]:

numPurchases = data.count()
print "Total purchases: %d" % numPurchases

# In[ ]:
时间: 2024-09-25 05:01:39

spark编程python实例的相关文章

《Spark 官方文档》Spark编程指南

Spark编程指南 概述 总体上来说,每个Spark应用都包含一个驱动器(driver)程序,驱动器运行用户的main函数,并在集群上执行各种并行操作. Spark最重要的一个抽象概念就是弹性分布式数据集(resilient distributed dataset – RDD),RDD是一个可分区的元素集合,其包含的元素可以分布在集群各个节点上,并且可以执行一些分布式并行操作.RDD通常是通过,HDFS(或者其他Hadoop支持的文件系统)上的文件,或者驱动器中的Scala集合对象,来创建或转换

C# Winform多屏幕多显示器编程技巧实例

  这篇文章主要介绍了C# Winform多屏幕多显示器编程技巧实例,本文直接给出代码实例,需要的朋友可以参考下 在窗口的中间有一个System.Windows.Forms.PictureBox控件(该控件区域的面积为所在窗口的1/4),当该控件的大部分区域落在其中一台显示器时,在另一台显示器将不显示该控件,(该PictureBox控件将移动到主显示器所在的窗口区域). 实现方法: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2

C#中的cookie编程简单实例与说明

这篇文章介绍了C#中的cookie编程简单实例与说明,有需要的朋友可以参考一下   复制代码 代码如下: using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.

求c++编程的实例书籍名字 ( 是以实例为主的基础讲解)

问题描述 求c++编程的实例书籍名字 ( 是以实例为主的基础讲解) 不是普通的那种C++的教程,我想的是一本全是编程实例的C++的书,按各个章节分类,每一章下面全是C++的实例代码,就是属于实例教程书那种吧,但注意各个章节的内容代码千万不要串了,别还没学到的代码内容在前面的章节出现了,同时也要求那个代码难度不要太大,正常的就好,我是本科生初学者,有一定的C基础. 解决方案 明日科技"VC++开发范例宝典" 解决方案二: 需要的话采纳了给你电子版 解决方案三: 这个看国外的比较好,有译本

C#并发编程经典实例--并发编程概述

来自 "C#并发编程经典实例" 优秀软件的一个关键特征就是具有并发性.过去的几十年,我们可以进行并发编程,但是难度很大.以前,并发性软件的编写.调试和维护都很难,这导致很多开发人员为图省事放弃了并发编程.新版.NET 中的程序库和语言特征,已经让并发编程变得简单多了.随着Visual Studio 2012 的发布,微软明显降低了并发编程的门槛.以前只有专家才能做并发编程,而今天,每一个开发人员都能够(而且应该)接受并发编程. 1.1 并发编程简介 首先,我来解释几个贯穿本书始终的术语

小弟近期在学习spark编程,请问各位大神spark可以处理视频文件吗?

问题描述 小弟近期在学习spark编程,请问各位大神spark可以处理视频文件吗? spark创建RDD的形式可以是 val text = sc.textFile("hdfs://......") 或者是 val text = sc.parallelize(List(1,2,3,4,5,6,7,8,9,10), 3) 但这些都是对文本文件或者数组的操作,它能否对视频文件进行操作 比如 games.mp4 请各位大神不吝赐教

《C#并发编程经典实例》—— 转换.NET事件

声明:本文是<C#并发编程经典实例>的样章,感谢图灵授权并发编程网站发布样章,禁止以任何形式转载此文. 问题 把一个事件作为 Rx 输入流,每次事件发生时通过 OnNext 生成数据. 解决方案 Observable 类 定 义 了 一 些 事 件 转 换 器. 大 部 分 .NET 框 架 事 件 与 FromEventPattern 兼 容, 对于不遵循通用模式的事件,需要改用 FromEvent. FromEventPattern 最适合使用委托类型为 EventHandler 的事件.

《C#并发编程经典实例》—— 发送通知给上下文

声明:本文是<C#并发编程经典实例>的样章,感谢图灵授权并发编程网站发布样章,禁止以任何形式转载此文. 问题 Rx 尽量做到了线程不可知(thread agnostic).因此它会在任意一个活动线程中发出通知(例如 OnNext). 但是我们通常希望通知只发给特定的上下文.例如 UI 元素只能被它所属的 UI 线程控制, 因此,如果要根据 Rx 的通知来修改 UI,就应该把通知"转移"到 UI 线程. 解决方案 Rx 提供了 ObserveOn 操作符,用来把通知转移到其他

《C#并发编程经典实例》—— 用限流和抽样抑制事件流

声明:本文是<C#并发编程经典实例>的样章,感谢图灵授权并发编程网站发布样章,禁止以任何形式转载此文. 问题 有时事件来得太快,这是编写响应式代码时经常碰到的问题.一个速度太快的事件流可导 致程序的处理过程崩溃. 解决方案 Rx 专门提供了几个操作符,用来对付大量涌现的事件数据.Throttle 和 Sample 这两个操 作符提供了两种不同方法来抑制快速涌来的输入事件. Throttle 建立了一个超时窗口,超时期限可以设置.当一个事件到达时,它就重新开始计 时.当超时期限到达时,它就把窗口