• 一
    2019-05-29
    看了这一讲意识到之前对Python欠缺了重视,现在明白Python在大数据处理领域是很有竞争力的,因为Spark和众多的库的原因,甚至超越Java,所以现在要重新重视起来Python的学习了
    
     6
  • 朱同学
    2019-05-29
    java万金油,什么都可以干,人好招,特别是我们这种偏远地区,scala,虽然开发效率高,但是人少,难招,所以我们大数据团队选择了java。至于运行效率,py是最慢的,java和scala应该半斤八俩吧
    
     6
  • Michael
    2019-05-29
    spark_session = SparkSession.builder.appName("PySparkShell").getOrCreate()
    ds_lines = spark_session.read.textFile("README.md")
    ds = ds_lines.flatMap(lambda x: x.split(' ')).groupBy("Value").count()
    ds.show()

    我执行这段的时候报错了
    AttributeError: 'DataFrameReader' object has no attribute 'textFile'
    如果把textFile()改成text()就对了
    再执行flatMap那段,也报错了
    AttributeError: 'DataFrame' object has no attribute 'flatMap'
    是不是API变动了,我用的是2.4.3版本单机执行的
    展开
     1
     5
  • 科学Jia
    2019-06-20
    女同学看完2015年出的spark快速大数据分析这本书以后,再来看老师写的这些文字,觉得言简意赅,印象深刻,至于用什么语言倒无所谓了,主要是思路。后期希望老师能多说一些案例和处理中需要注意的技巧。
    
     4
  • hallo128
    2019-06-08
    【以下代码可以运行,但对df格式的操作是借助二楼的网址去找的,具体含义也不太清楚,只是可以运行出来】

    #python前运行调用包
    from pyspark.sql import SparkSession
    from pyspark.sql.functions import explode
    from pyspark.sql.functions import split

    #初始化SparkSession程序入口
    spark = SparkSession.builder.appName("WordCount").getOrCreate()
    #读入文档
    ds_lines = spark.read.text("/Users/apple/code_tool/spark/WordCount/demo.md")
    #针对df特定的计算格式
    words = ds_lines.select(
       explode(
           split(ds_lines.value, " ")
       ).alias("word")
    )
    #返回的RDD进行计数
    wordCounts = words.groupBy("word").count()
    #展示
    wordCounts.show()
    #关闭spark
    spark.stop()
    展开
    
     4
  • Yeon
    2019-08-06
    补充pyspark官方网站示例: https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html

    作者回复: 👍

    
     3
  • Quincy
    2019-06-13
    Spark 不应该是首选Scala 么
    
     2
  • 青石
    2019-05-31
    #!/usr/bin/python3

    import os
    from pyspark import SparkContext, SparkConf


    os.environ['SPARK_HOME'] = '/usr/local/spark'
    os.environ['HADOOP_HOME'] = '/usr/local/hadoop-2.7.7'

    conf = SparkConf().setAppName('WordCount').setMaster('local')
    sc = SparkContext('local', 'pyspark', conf=conf)

    text_file = sc.textFile('file:///Users/albert.ming.xu/Downloads/text.txt')

    counts = text_file.filter(lambda x: len(x.strip()) > 0).flatMap(lambda x: x.split(' ')).map(lambda x: (x, 1)).reduceByKey(lambda x, y: x + y).sortBy(lambda x: x[1], ascending=False)

    print('|{0: ^20}|{1: ^20}|'.format('Word', 'Count'))
    for (word, num) in counts.take(10):
        print('|{0: ^20}|{1: ^20}|'.format(word, num))

    展开
    
     2
  • 这个名字居然都有
    2019-05-29
    老师,你给一个完整的案例吧,
     1
     2
  • 大志
    2019-05-29
    老师,本地已经安装了Spark,有Demo吗,只看代码片段的话还是无从下手啊
     1
     2
  • J Zhang
    2019-05-29
    用java写 有点冗长 我不敢苟同,因为java8 已经是函数编程了!而且spark开发我觉得大部分还是spark sql多点!这样基本没啥区别
    
     1
  • 斯盖丸
    2019-05-29
    .groupBy("Value")这个value是什么意思?

    作者回复: SparkSession.read.text()读取文件后生成的DataFrame只有一列,它的默认名字就是“value”。我们用lines.value去读取这一列,是同样的道理。之后我们给新的列重命名为”word”,所以groupBy的参数变成了”word”。

    
     1
  • Bing
    2019-05-29
    flatMap是rdd的算子,df不能直接用,可以explode行转列
    
     1
  • ttttt
    2019-09-02
    实践成功
    demo.txt:
    I hava a dog
    He has a Dog
    RDD写法:
    [('I', 1), ('hava', 1), ('a', 2), ('dog', 1), ('He', 1), ('has', 1), ('Dog', 1)]
    [('a', 2), ('I', 1), ('hava', 1), ('dog', 1), ('He', 1), ('has', 1), ('Dog', 1)]
    DF写法:
    [Row(word='dog', count=1), Row(word='He', count=1), Row(word='Dog', count=1), Row(word='I', count=1), Row(word='a', count=2), Row(word='hava', count=1), Row(word='has', count=1)]
    [Row(word='a', count=2), Row(word='I', count=1), Row(word='Dog', count=1), Row(word='hava', count=1), Row(word='dog', count=1), Row(word='has', count=1), Row(word='He', count=1)]

    从启动到出结果,DF写法速度要比rdd慢。
    展开

    作者回复: 👍🏻

    
    
  • ttttt
    2019-09-01
    python 直接安装
    pip install pyspark
    pip帮你搞定一切安装配置问题。
    参考资料:
    https://pypi.org/project/pyspark/

    作者回复: 嗯,这位同学说的很好,用pip install安装pyspark确实方便。我介绍的方法比较普遍试用。

     1
    
  • 西北偏北
    2019-08-01
    对于词频统计的场景,除了用map reduce的方式,对应到sql就是group by,基于每个单词分组然后统计每个分组的大小
    
    
  • Qi Liu 刘祺
    2019-06-29
    继续学习~

    作者回复: 加油⛽️

    
    
  • hallo128
    2019-06-08
    “虽然 Spark 还支持 Java 和 R,但是我个人不推荐你使用。用 Java 写程序实在有些冗长,而且速度上没有优势。”
    推荐使用,还是应该详细说明对比下,不能只因为自己偏好某种工具给出建议。对于spark原生来说,速度和库同步更新更快的是Scala,如果你想随时用到spark最新功能库的话,就应该选择Scala,同时速度也是最快的。
    至于Python,R,Java,一方面和你的熟悉程度有关,另一方面也与你到底准备用spark来做什么的目的有关。是集群控制,还是数据分析,还是建模,来选择合适的编程语言与spark进行连接编写。
    
    
  • hua168
    2019-05-30
    老师我想问一下,如果大数据学习用python、java、还是Scala?
    python虽然代码少,但不是说性能上,运行速度上不及java和go吗?
    
    
  • fresh
    2019-05-29
    能用java 写代码吗?
    
    
我们在线,来聊聊吧