《基于pyspark的大数据分析》视频29淘宝数据分析

在《基于pyspark的大数据分析》视频29中,讲解了淘宝数据分析,但学员在Spark 2.1.1环境下遇到AttributeError,'DataFrame'对象没有'map'属性。原因是代码适用于Spark 1.6.1。解决方案是将DataFrame转换为RDD后再使用.map。在Spark 2.0及以后版本,需要先调用'rdd'方法。
摘要由CSDN通过智能技术生成

课程《基于pyspark的大数据分析》视频29淘宝数据分析中,源代码如下:

 

    # 需求:按照session_id进行分组,统计次数,会话PV
    session_pv = sqlContext.sql("""
        SELECT
            session_id, COUNT(1) AS cnt
        FROM
            tmp_page_views
        GROUP BY
            session_id
        ORDER BY
            cnt DESC
        LIMIT
            10
    """).map(lambda output: output.session_id + "\t" + str(output.cnt))   
    for result in session_pv.collect():
        print result

在我的环境中运行报错:

AttributeError: ‘DataFrame‘ object has no attribute ‘map‘

 原因:我的环境spark是2.1.1,而原案例中老师的代码是基于spark1.6.1写的。

You can't map a dataframe, but you can convert the dataframe to an RDD and map that by doing spark_df.rdd.map(). Prior to Spark 2.0, spark_df.map would alias to spark_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值