cdh版spark on yarn與idea直連操作sql遇到的一些問題

Karas911發表於2018-12-21

spark on yarn與idea直連操作sql遇到的一些問題

先上程式碼

 SparkConf conf = new SparkConf().setAppName("programdept").setMaster("yarn-client")
               .set("yarn.resourcemanager.hostname", "10.100.200.11")
//                .set("spark.executor.instances","1")
//               .set("spark.executor.memory","3500M")
                .setJars(new String[]{"D:\\code\\sparkonyarn\\out\\artifacts\\sparkonyarn.jar"})
                .set("spark.yarn.preserve.staging.files","false")
                .set("spark.executor.extraClassPath"," /opt/cloudera/parcels/CDH-5.14.0-1.cdh5.14.0.p0.24/lib/hive/lib/*");

        JavaSparkContext sparkContext = new JavaSparkContext(conf);
        HiveContext hiveContext = new HiveContext(sparkContext.sc());
//      hiveContext.clearCache();

       hiveContext.sql("use oracle_table");
        DataFrame sql = hiveContext.sql("select count(1) from com_organization")
        sparkContext.close();
    }

其實就是一個很簡單的需求,通過hive與spark整合從而來查詢hive表中的資料

  • 首先你要把配置檔案放入idea中
    在這裡插入圖片描述

  • 你的程式碼設定為spark on yarn模式,參考上方程式碼

  • 設定好你的包

  • 執行一直失敗,參考日誌
    在這裡插入圖片描述

  • 缺少某些包,接著把yarn site中設定相應的包
    在這裡插入圖片描述

  • 還差hive的包,通過上方的方式匯入不行,就直接在程式碼中新增
    set(“spark.executor.extraClassPath”," /opt/cloudera/parcels/CDH-5.14.0-1.cdh5.14.0.p0.24/lib/hive/lib/*

  • 最終執行成功,在出現此種錯的時候去翻看其他人的解決方法,而沒有細分析自己的日誌,導致做了很多無用功,自己出現問題自己先找好自己的

相關文章