Nicksxs's Blog

What hurts more, the pain of hard work or the pain of regret?

0%

# spark-little-tips

发表于 2017-03-28 更新于 2020-01-12 分类于 data analysis 阅读次数： 阅读次数： Disqus：

## spark 的一些粗浅使用经验

工作中学习使用了一下Spark做数据分析,主要是用spark的python接口，首先是`pyspark.SparkContext(appName=xxx)`，这是初始化一个Spark应用实例或者说会话，不能重复，
返回的实例句柄就可以调用`textFile(path)`读取文本文件，这里的文本文件可以是HDFS上的文本文件，也可以普通文本文件，但是需要在Spark的所有集群上都存在，否则会
读取失败，`parallelize`则可以将python生成的集合数据读取后转换成rdd(A Resilient Distributed Dataset (RDD),一种spark下的基本抽象数据集),基于这个RDD就可以做
数据的流式计算，例如`map reduce`,在Spark中可以非常方便地实现

### 简单的mapreduce word count示例

    textFile = sc.parallelize([(1,1), (2,1), (3,1), (4,1), (5,1),(1,1), (2,1), (3,1), (4,1), (5,1)])
    data = textFile.reduceByKey(lambda x, y: x + y).collect()
    for _ in data:
        print(_)

### 结果

    (3, 2)
    (1, 2)
    (4, 2)
    (2, 2)
    (5, 2)