zoukankan      html  css  js  c++  java
  • 踩坑事件:windows操作系统下的eclipse中编写SparkSQL不能从本地读取或者保存parquet文件

    这个大坑... ....

    如题,在Windows的eclipse中编写SparkSQL代码时,编写如下代码时,一运行就抛出一堆空指针异常:

            // 首先还是创建SparkConf
            SparkConf conf = new SparkConf()
                    .setMaster("local")
                    .setAppName("HiveDataSource");
            // 创建JavaSparkContext
            JavaSparkContext sc = new JavaSparkContext(conf);
           SQLContext sqlContext=new SQLContext(sc);
    
          // DataFrame usersDF=sqlContext.read().parquet("hdfs://spark2:9000/francis/spark-core/users.parquet");
           DataFrame usersDF=sqlContext.read().parquet("users.parquet");

    这个纠结啊... ...。

    后来将数据保存到hdfs上可以运行。于是我误以为不能再本地保存,后来google了一下,看很多demo都是将数据保存到本地的parquet中,于是这个猜测否决了。

    后来在这里找到了答案:http://stackoverflow.com/questions/25505365/parquet-file-in-spark-sql

    其回复如下:

    Spark is compatible with Windows. You can run your program in a spark-shell session in Windows or you can run it using spark-submit with necessary argument such as "-master" (again, in Windows or other OS). You cannot just run your Spark program as an ordinary Java program in Eclispe without properly setting up the Spark environment and so on. You problem has nothing to do with Windows.

    后来又在linux 上的spark-shell上验证了一下,可以本地保存的!!!!

    所以啊,要想保存在本地,还是使用spark-submit吧,不要直接在eclipse中运行了。

  • 相关阅读:
    提高 github.com 项目下载速度
    理解git 中的HEAD指针&branch指针
    Docker Compose 配置文件详解
    Yarn 配置阿里源
    Laravel
    reCAPTCHA打不开的解决方法
    CC2 条理分明-----独立思考
    CC2 条理分明-----AACTP教你谈恋爱
    CC4 表达方式----输赢
    lambda匿名函数透析
  • 原文地址:https://www.cnblogs.com/francisYoung/p/5258574.html
Copyright © 2011-2022 走看看