spark使用

原创 2016年05月31日 10:36:04

一、基础概念:

 RDD对象:

        spark的核心对象,

       文件等加载均转化为RDD对象(SparkContext.textFile(input_file)  )

 RDD对象属性、方法:

map、reduce、flatmap、reducebykey

二、使用

1.声明:

from pyspark import SparkContext, SparkConf  #pyspark ,python-spark支持


appName = "程序名"   #也可以用于web上监控
master = "spark://服务器名:端口" #服务器名可以使用ip

conf = SparkConf().setAppName(appName).setMaster(master)
sc = SparkContext(conf=conf)


说明:

val sc = new SparkContext(master, appName, [sparkHome], [jars])

参数master指明集群的地址,是字符串,master可以是"local"--在本地单机运行,也可以是Spark或者Mesos集群的URL。
参数appName是Spark应用的名称,会在集群的web界面里显示出来。
参数sparkHome是spark的安装目录,注意,集群内所有节点的Spark必须安装在同样的目录下。
参数jars是打包后的Spark应用,是本地目录,这些Jar包会被复制发送到集群内的所有节点执行。


2.文件加载及处理:

a.处理:

"""odflow.py"""
from pyspark import SparkContext

fileDir = "/TripChain3_Demo.txt"
# sc = SparkContext("local", "ODFlow")
sc = SparkContext("spark://ITS-Hadoop10:7077", "ODFlow")
lines = sc.textFile(fileDir)

# python不能直接写多行的lambda表达式,所以要封装在函数中
def toKV(line):
    arr = line.split(",")
    t = arr[5].split(" ")[1].split(":")
    return (t[0]+t[1]+","+arr[11]+","+arr[18],1)

r1 = lines.map( lambda line : toKV(line) ).reduceByKey(lambda a,b: a+b)
# 排序并且存入一个(repartition)文件中
r1.sortByKey(False).saveAsTextFile("/pythontest/output")

b.发布

spark-submit \
  --master spark://ITS-Hadoop10:7077 \
  odflow.py

2.1 单个文件处理

2.1.1 无配置文件情况

    data_file = sc.textFile(input_file)  #sc为SparkContext对象
    data_file.map(handle_one_line).filter(lambda x: len(x.split("\t"))==7).saveAsTextFile(output_file)


2.1.2 有配置文件情况


2.2 两个文件(多个文件)处理


Spark大师之路:Spark的配置系统

简介 Spark的配置系统主要分为三个部分:第一个部分是控制Spark
  • doggie_wangtao
  • doggie_wangtao
  • 2014年04月14日 00:19
  • 6802

Spark源码解读之SparkContext初始化

SparkContext初始化是Driver应用程序提交执行的前提,这里以local模式来了解SparkContext的初始化过程。 本文以 val conf = new SparkConf().se...
  • Xw_Classmate
  • Xw_Classmate
  • 2016年12月13日 17:24
  • 4679

Spark第一个程序开发 wordcount

这里介绍了程序运行在本地模式和Standalone模式两种方式package com.spark.appimport org.apache.spark.{SparkContext, SparkConf...
  • u010110208
  • u010110208
  • 2016年07月24日 12:17
  • 7192

使用Flume+Logstash+Kafka+Spark Streaming进行实时日志处理分析【大数据】

  • 2017年10月29日 23:00
  • 14KB
  • 下载

Spark1.6.0安装与使用

  • 2016年04月22日 09:54
  • 516KB
  • 下载

Spark-Bench使用文档

  • 2017年07月14日 17:19
  • 20KB
  • 下载

顾荣-Tachyon存储系统的基本原理以及与Spark的结合使用

  • 2015年11月05日 13:26
  • 1.32MB
  • 下载

hue提交spark jar任务的使用文档

  • 2018年01月05日 17:36
  • 918KB
  • 下载

改进版基于Spark2.2使用SparkSQL和MySql数据库实现的诗歌浏览和自动集句工程源码

  • 2017年11月02日 09:05
  • 23.39MB
  • 下载

spark 连接 mongodb 使用例子

  • 2017年09月12日 16:05
  • 730KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:spark使用
举报原因:
原因补充:

(最多只允许输入30个字)