SpingBootプロジェクトの下でSparkはIDEAでローカルテストを行います
2916 ワード
背景
開発シーンでは、ローカルでデバッグし、サーバにパッケージ化して実行するに違いありません.頻繁にテストをパッケージ化すると、効率的ではなく、実際には次のシーンにアクセスできません.ローカルでspark localモードを使用してhiveにアクセスする例を示します.
関連コード構成
1、コード val session = SparkSession.builder().master("local").enableHiveSupport().getOrCreate()
val conf=new Configuration
conf.addResource("hebing/core-site.xml")
conf.addResource("hebing/hdfs-site.xml")
conf.addResource("hebing/hive-site.xml")
session.sparkContext.hadoopConfiguration.addResource(conf);
val frame = session.sql("select * from hive.vbapf20086ecdfc3402f9660ec553ea8ddb2 limit 10")
ここにcore-siteを追加する必要があります.xml hdfs-site.xml hive-site.xml、これらは実は公式ドキュメントでも説明されていますが、もちろん、対応するhostsの構成も完備しなければなりません.その後、
2、maven配置
org.apache.spark
spark-sql_2.11
2.4.1
org.apache.spark
spark-hive_2.11
2.4.0
org.codehaus.janino
janino
3.0.8
問題
1、IDEAを実行する時にログが多い
私がクリックして実行する时、中のログがとても多いことを発见して、INFOとdebugのログがあって、それから関连する结果を検索してたくさんのログの中でとても不便で、ネット上で多くの答えを検索して、log 4 jにほかならない.propertiesはresourceの下に配置され、concoleに打つログレベルが向上します.しかし、役に立たない.実はspringBootのデフォルトのログプラグインがlogbackなので、ここではlog 4 jは役に立たないので、
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-logging
このloggingを除外してsparkのデフォルトのlog 4 j.propertiesはresourcesの下にコピーし、log 4 j.rootCategory=INFO、consoleをlog 4 jに変更する.rootCategory=ERROR,consoleでOK
参考資料:http://blog.didispace.com/springbootlog4j/
2、java.lang.NoClassDefFoundError: org/apache/spark/sql/SparkSession
このエラーは依存するspark-sqlの依存によるものである
org.apache.spark
spark-sql_2.11
2.4.1
provided
provided削除は、実行時に依存が無効であるため(mavenに関する知識)
3、Caused by: java.lang.ClassNotFoundException:
org.codehaus.janino.InternalCompilerException
依存関係がありません
org.codehaus.janino
janino
3.0.8
1、コード
val session = SparkSession.builder().master("local").enableHiveSupport().getOrCreate()
val conf=new Configuration
conf.addResource("hebing/core-site.xml")
conf.addResource("hebing/hdfs-site.xml")
conf.addResource("hebing/hive-site.xml")
session.sparkContext.hadoopConfiguration.addResource(conf);
val frame = session.sql("select * from hive.vbapf20086ecdfc3402f9660ec553ea8ddb2 limit 10")
ここにcore-siteを追加する必要があります.xml hdfs-site.xml hive-site.xml、これらは実は公式ドキュメントでも説明されていますが、もちろん、対応するhostsの構成も完備しなければなりません.その後、
2、maven配置
org.apache.spark
spark-sql_2.11
2.4.1
org.apache.spark
spark-hive_2.11
2.4.0
org.codehaus.janino
janino
3.0.8
問題
1、IDEAを実行する時にログが多い
私がクリックして実行する时、中のログがとても多いことを発见して、INFOとdebugのログがあって、それから関连する结果を検索してたくさんのログの中でとても不便で、ネット上で多くの答えを検索して、log 4 jにほかならない.propertiesはresourceの下に配置され、concoleに打つログレベルが向上します.しかし、役に立たない.実はspringBootのデフォルトのログプラグインがlogbackなので、ここではlog 4 jは役に立たないので、
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-logging
このloggingを除外してsparkのデフォルトのlog 4 j.propertiesはresourcesの下にコピーし、log 4 j.rootCategory=INFO、consoleをlog 4 jに変更する.rootCategory=ERROR,consoleでOK
参考資料:http://blog.didispace.com/springbootlog4j/
2、java.lang.NoClassDefFoundError: org/apache/spark/sql/SparkSession
このエラーは依存するspark-sqlの依存によるものである
org.apache.spark
spark-sql_2.11
2.4.1
provided
provided削除は、実行時に依存が無効であるため(mavenに関する知識)
3、Caused by: java.lang.ClassNotFoundException:
org.codehaus.janino.InternalCompilerException
依存関係がありません
org.codehaus.janino
janino
3.0.8
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-logging
org.apache.spark
spark-sql_2.11
2.4.1
provided
org.codehaus.janino
janino
3.0.8