# read data from hdfs and transform RDD[Row]
    page_views_rdd = sc\
        .textFile("/user/hive/warehouse/page_views")\
        .map(map_func)

    # Create DataFrame
    page_views_df = sqlContext.createDataFrame(page_views_rdd)

原代码如上,要读取的文件保存在虚拟机的centos上,结果运行报错:

py4j.protocol.Py4JJavaError: <exception str() failed>

原来spark默认是从hdfs上都文件的,博主的文件存放在本地路径下,因此需要改为:

    page_views_rdd = sc\
        .textFile("file:///opt/software/page_views.data")\
        map(map_func)

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐