1、搭建基本spark+Hadoop的本地环境

  https://blog.csdn.net/u011513853/article/details/52865076?tdsourcetag=s_pcqq_aiomsg

2、下载对应的spark与pyspark的版本进行安装

  https://pypi.org/project/pyspark/2.3.0/#history

3、单词统计测试

  a、python版本

import os
import shutil from pyspark import SparkContext inputpath = './data/wc.txt'
outputpath = './data/out.txt' sc = SparkContext('local', 'wordcount') # 读取文件
input = sc.textFile(inputpath)
# 切分单词
words = input.flatMap(lambda line: line.split(' '))
# 转换成键值对并计数
counts = words.map(lambda word: (word, 1)).reduceByKey(lambda x, y: x + y) # 输出结果
counts.foreach(print) # 删除输出目录
if os.path.exists(outputpath):
shutil.rmtree(outputpath, True) # 将统计结果写入结果文件
counts.saveAsTextFile(outputpath)

  

  b、scala版本

package com.wcount

import java.io.{File, PrintWriter}

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext} object ScalaWordCount { def main(args: Array[String]): Unit = {
/**
* SparkConf:表示spark application的参数,
* setMaster:表示运行的模式:
*
* local:本地模式,一般用于测试
* standalone:spark集群自带的资源调度模式
* yarn:hadoop
* mesos:资源调度框架
* setAppName:设置application的名称
*/
val conf = new SparkConf().setMaster("local").setAppName("workJob")
/**
* SparkContext:spark application的上下文环境,通往集群的唯一入口
*/
val sc = new SparkContext(conf) // val session: SparkSession = SparkSession.builder.appName("wc").master("local").getOrCreate() val lines: RDD[String] = sc.textFile("./data/wc.txt")
val words: RDD[String] = lines.flatMap(line => {
println("flatmap...........")
line.split(" ")
})
val tuple: RDD[(String, Int)] = words.map(word => {
println("map............")
new Tuple2(word, 1)
})
val result: RDD[(String, Int)] = tuple.reduceByKey((v1: Int, v2: Int) => v1 + v2)
//result.foreach(println) //文件写入
val outWriter = new PrintWriter(new File("./data/out.txt"))
var wt:String = "" for (item<-result){
wt =item._1.toString+":"+item._2.toString+" "
println(wt)
}
println(wt)
outWriter.println(wt)
outWriter.close() while (true){ }
// sc.textFile("./data/wc").flatMap(line => {line.split(" ")}).map(word => {new Tuple2(word, 1)}).reduceByKey((v1: Int, v2: Int) => v1 + v2).foreach(println)
sc.stop()
}
}

  

pyspark的安装配置的更多相关文章

  1. juypter-notebook安装配置

    juypter-notebook安装配置 Table of Contents 1. jupyter notebook概述 2. jupyter notebook安装 3. 在jupyter noteb ...

  2. Hive安装配置指北(含Hive Metastore详解)

    个人主页: http://www.linbingdong.com 本文介绍Hive安装配置的整个过程,包括MySQL.Hive及Metastore的安装配置,并分析了Metastore三种配置方式的区 ...

  3. Hive on Spark安装配置详解(都是坑啊)

    个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/p/a7f75b868568 简介 本文主要记录如何安装配置Hive on Sp ...

  4. ADFS3.0与SharePoint2013安装配置(原创)

    现在越来越多的企业使用ADFS作为单点登录,我希望今天的内容能帮助大家了解如何配置ADFS和SharePoint 2013.安装配置SharePoint2013这块就不做具体描述了,今天主要讲一下怎么 ...

  5. Hadoop的学习--安装配置与使用

    安装配置 系统:Ubuntu14.04 java:1.7.0_75 相关资料 官网 下载地址 官网文档 安装 我们需要关闭掉防火墙,命令如下: sudo ufw disable 下载2.6.5的版本, ...

  6. redis的安装配置

    主要讲下redis的安装配置,以及以服务的方式启动redis 1.下载最新版本的redis-3.0.7  到http://redis.io/download中下载最新版的redis-3.0.7 下载后 ...

  7. Windows环境下的NodeJS+NPM+Bower安装配置

    npm作为一个NodeJS的模块管理,之前我由于没有系统地看资料所以导致安装配置模块的时候走了一大段弯路,所以现在很有必要列出来记录下.我们要先配置npm的全局模块的存放路径以及cache的路径,例如 ...

  8. ubuntu kylin 14.04安装配置MongoDB v2.6.1(转)

    1.获取最新版本 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.1.tgz 2.解压并进入bin目录 tar zxvf mongo ...

  9. Django基础之安装配置

    安装配置 一 MVC和MTV模式 著名的MVC模式:所谓MVC就是把web应用分为模型(M),控制器(C),视图(V)三层:他们之间以一种插件似的,松耦合的方式连接在一起. 模型负责业务对象与数据库的 ...

随机推荐

  1. Android开发艺术探索笔记之Activity

    内容来源:Android开发艺术探索第一章:Activity的生命周期与启动模式 不能在onPause中做重量级的操作,因为必须执行完成以后新Activity才能Resume.onPause和onSt ...

  2. Maven搭建简单的SPring+SpringMVC+Hibernate框架

    公司的项目用到的框架是Spring+SpringMVC+Hibernate 以前没有用过,所以要系统的学习一下,首先要学会怎么搭建 第一步  创建一个Maven的web项目  创建方法以前的博客中有提 ...

  3. SQL语句 数据类型

    6.1 Data Type 查看数据所占空间的两个函数: -- 查看所占字节数 select length('你好,世界') from dual; -- 查看所占字符数,即多少个字母,多少个汉字 se ...

  4. Python面向对象的三大特性之异常处理

    一.错误与异常 程序中难免会出现错误,而错误分为两种 1.语法错误:(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) 2.逻辑错误:(逻辑错误),比如用户输入的不合适等一系 ...

  5. 一些项目中用到的php函数

    #不为空 if (!empty($_POST)) { } #生成随机数 mt_rand(,)产生999-9999范围间的随机数

  6. JAVA泛型里面各值代表的意义

    Java泛型中的标记符含义:  E - Element (在集合中使用,因为集合中存放的是元素) T - Type(Java 类) K - Key(键) V - Value(值) N - Number ...

  7. NOIP2016提高A组五校联考1总结

    第一题二分,在比赛上明明想到的方法,结果考虑的时候似乎漏了什么,被否决掉了. 只打了个水法,10分. 第二题,最长不上升子序列,原题,类似的题目做过两道,直接搞定. 第三题,一开始想了一种通过在树上打 ...

  8. python中的文件读取

    ---恢复内容开始--- r模式,只读模式,不可写入,文件不存在会报错 #r模式,能读不能写,文件不存在会报错 f = open('a1.txt')#不写'r',默认只读 result = f.rea ...

  9. EcShop开发手册

    Ecshop文件结构 ecshop文件架构说明 ECShop 结构图及各文件相应功能介绍 ECShop upload 的目录 ┣ activity.php 活动列表 ┣ affiche.php 广告处 ...

  10. 自定义springmvc参数解析器

    实现spring HandlerMethodArgumentResolver接口 通过使用@JsonArg自定义注解来解析json数据(通过fastjson的jsonPath),支持多个参数(@Req ...