2016-09-16 3 views
0

в моей компиляции, хотя я размещаю файлы twitter jar в папке src/main/resources, но компиляция SBT не собирает их и не компилирует и не упаковывает без ошибок, но во время выполнения дает мне ошибку как " класс не найден twitterUtils "Spark SBT компиляция проблема

Мой вопрос: почему SBT не включает файлы jar из папки ресурсов в компиляции?

люди говорят мне сделать все эти сложные шаги по получению утилиты Git, а затем выполнить сборку sbt, которую я сделал, но поскольку iam за прокси-сервером Git не работает, даже несмотря на всю настройку http_proxy. Я также попытался поместить эти файлы jitter jar в CLASSPATH без везения. Я застрял в этом вопросе, поэтому любая помощь очень ценится. смотрите подробности ниже

[[email protected] TwitterPopularTags]# pwd 
/root/TwitterPopularTags 
[[email protected] TwitterPopularTags]# sbt compile 
[info] Set current project to TwitterPopularTags (in build file:/root/TwitterPopularTags/) 
[info] Updating {file:/root/TwitterPopularTags/}twitterpopulartags... 
[info] Resolving jline#jline;2.12.1 ... 
[info] Done updating. 
[info] Compiling 2 Scala sources to /root/TwitterPopularTags/target/scala-2.11/classes... 
[success] Total time: 14 s, completed Sep 16, 2016 9:55:20 AM 
[[email protected] TwitterPopularTags]# sbt package 
[info] Set current project to TwitterPopularTags (in build file:/root/TwitterPopularTags/) 
[info] Packaging /root/TwitterPopularTags/target/scala-2.11/twitterpopulartags_2.11-1.0.jar ... 
[info] Done packaging. 
[success] Total time: 1 s, completed Sep 16, 2016 9:56:20 AM 
[[email protected] TwitterPopularTags]# spark-submit /root/TwitterPopularTags/target/scala-2.11/twitterpopulartags_2.11-1.0.jar 
16/09/16 09:57:06 INFO SparkContext: Running Spark version 1.6.2 
16/09/16 09:57:06 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
16/09/16 09:57:06 INFO SecurityManager: Changing view acls to: root 
16/09/16 09:57:06 INFO SecurityManager: Changing modify acls to: root 
16/09/16 09:57:06 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(root); users with modify permissions: Set(root) 
16/09/16 09:57:07 INFO Utils: Successfully started service 'sparkDriver' on port 53967. 
16/09/16 09:57:07 INFO Slf4jLogger: Slf4jLogger started 
16/09/16 09:57:07 INFO Remoting: Starting remoting 
16/09/16 09:57:07 INFO Remoting: Remoting started; listening on addresses :[akka.tcp://[email protected]:57877] 
16/09/16 09:57:07 INFO Utils: Successfully started service 'sparkDriverActorSystem' on port 57877. 
16/09/16 09:57:07 INFO SparkEnv: Registering MapOutputTracker 
16/09/16 09:57:07 INFO SparkEnv: Registering BlockManagerMaster 
16/09/16 09:57:07 INFO DiskBlockManager: Created local directory at /tmp/blockmgr-47a89077-0926-447c-ada7-fdb4a9aa1b83 
16/09/16 09:57:07 INFO MemoryStore: MemoryStore started with capacity 511.5 MB 
16/09/16 09:57:07 INFO SparkEnv: Registering OutputCommitCoordinator 
16/09/16 09:57:08 INFO Server: jetty-8.y.z-SNAPSHOT 
16/09/16 09:57:08 INFO AbstractConnector: Started [email protected]:4040 
16/09/16 09:57:08 INFO Utils: Successfully started service 'SparkUI' on port 4040. 
16/09/16 09:57:08 INFO SparkUI: Bound SparkUI to 0.0.0.0, and started at http://10.100.44.17:4040 
16/09/16 09:57:08 INFO HttpFileServer: HTTP File server directory is /tmp/spark-d56628b6-fdbf-4d89-bbd2-a96603000607/httpd-ee499eb3-00ae-4276-b163-423e3b81f0b4 
16/09/16 09:57:08 INFO HttpServer: Starting HTTP Server 
16/09/16 09:57:08 INFO Server: jetty-8.y.z-SNAPSHOT 
16/09/16 09:57:08 INFO AbstractConnector: Started [email protected]:56067 
16/09/16 09:57:08 INFO Utils: Successfully started service 'HTTP file server' on port 56067. 
16/09/16 09:57:08 INFO SparkContext: Added JAR file:/root/TwitterPopularTags/target/scala-2.11/twitterpopulartags_2.11-1.0.jar at http://10.100.44.17:56067/jars/twitterpopulartags_2.11-1.0.jar with timestamp 1474034228091 
16/09/16 09:57:08 INFO Executor: Starting executor ID driver on host localhost 
16/09/16 09:57:08 INFO Utils: Successfully started service 'org.apache.spark.network.netty.NettyBlockTransferService' on port 49715. 
16/09/16 09:57:08 INFO NettyBlockTransferService: Server created on 49715 
16/09/16 09:57:08 INFO BlockManagerMaster: Trying to register BlockManager 
16/09/16 09:57:08 INFO BlockManagerMasterEndpoint: Registering block manager localhost:49715 with 511.5 MB RAM, BlockManagerId(driver, localhost, 49715) 
16/09/16 09:57:08 INFO BlockManagerMaster: Registered BlockManager 
16/09/16 09:57:08 WARN DomainSocketFactory: The short-circuit local reads feature cannot be used because libhadoop cannot be loaded. 
16/09/16 09:57:08 INFO EventLoggingListener: Logging events to hdfs:///spark-history/local-1474034228122 
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/streaming/twitter/TwitterUtils$ 
     at dot.state.fl.us.PrintTweets$.main(PrintTweets.scala:29) 
     at dot.state.fl.us.PrintTweets.main(PrintTweets.scala) 

ответ

1

мой вопрос, почему SBT не включая банку файлы из папки ресурсов в компиляции?

Потому что это не какая папка ресурсов. Если вы хотите управлять зависимостями вручную, put them into lib folder instead. Но в этом случае вам также необходимо сделать то же самое со всеми зависимостями этих зависимостей, их зависимостями и т. Д. Использование управляемых зависимостей, как описано в связанной документации, является гораздо лучшей идеей в целом.

+0

привет Алексей. Я не вижу связанной документации, можете ли вы отправить ссылку здесь? почему SBT не загружает зависимые jitter-файлы, зависящие от twitter, так как он находится в списке зависимостей в файле build.sbt «spark-streaming-twitter», см. ниже »libraryDependencies ++ = Seq ( « org.apache.spark »% % «искровой сердечник»% sparkVersion, «org.apache.spark» %% «искрообразование»% sparkVersion, «org.apache.spark» %% «spark-streaming-twitter»% sparkVersion ) " –

+0

Извините, я нашел ссылку неважно, но мой вопрос остается. Почему твитер-банки не загружаются, даже если они находятся в списке зависимостей? Или, может быть, они загружаются, а мой класс не найден, то что-то еще? –

+0

i поместил мои файлы jitter jar в папку lib и clean-compile-package, но все еще получал ошибку, не обнаружив «twitterUtils» [root @ hadoop1 lib] # pwd /root/TwitterPopularTags/lib [root @ hadoop1 lib] # ls -ltr всего 360 -rw-r - r-- 1 корень root 60808 16 сен 11:18 twitter4j-stream-4.0.4.jar -rw-r-r-- 1 корень root 290456 16 сен 11:18 twitter4j-core-4.0.4.ziptwitter4j-core-4.0.4.jar -rw-r - r-- 1 корень root 14115 Sep 16 11:18 dstream-twitter_2.11-0.1.0-SNAPSHOT.jar [root @ hadoop1 lib] # –

Смежные вопросы