我已经在我的Red Hat 64中安装了spark hadoop env。我还想在intelliJ idea的spark源代码项目中读写代码。我已经下载了spark源代码并做好了一切准备。但我在IntelliJ idea中编译spark项目时出现了一些错误。以下是错误:
/home/xuch/IdeaProjects/spark/sql/catalyst/src/main/scala/org/apache/spark/sql/CatalystQI。斯卡拉
错误:(809,34)未找到:值SparkSqlParser case ast if ast。标记类型==SparlSqlParser。TinyintLiteral公司=
错误:(812,34)未找到:值SparkSqlParser case ast if ast。标记类型==SparlSqlParser。SmallintLiteral=
... ...
但实际上我没有找到一个名为SparkSqlParser的文件。scala在整个项目中都不是一个名为SparkSqlParser的scala类。
然而,我在网上搜索了一些名为SparkSqlParser的文件。scala,但它们没有“TinyintLiteral”、“SmallintLiteral”等属性。以下是文件链接:
>
https://apache.googlesource.com/spark//c152dde78f73d5ce3a483fd60a47e7de1f1916da/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/SparkSQLParser。斯卡拉
1) 首先使用中给出的构建说明从命令行构建Sparkhttp://spark.apache.org/docs/latest/building-spark.html#building-使用buildmvn
2) 然后检查$SPARK\u HOME/sql/catalyst/target/generated sources/antlr3/org/apache/SPARK/sql/catalyst/parser文件夹。
一些生成的类,如SparkSqlLexer.java就在那里。
它生成的类列表包括
SparkSqlLexer.java[enter link description here][1]
SparkSqlParser.java
SparkSqlParser_ExpressionParser.java
SparkSqlParser_FromClauseParser.java
SparkSqlParser_IdentifiersParser.java
SparkSqlParser_KeywordParser.java
SparkSqlParser_SelectClauseParser.java
这里的建议都不适合我。然而,我注意到生成的代码依赖于Antlr 3. x,而Antlr 4. x是依赖项(mvn依赖项:树)中的内容。我不知道为什么会这样。也许是因为我之前从命令行(?)构建了它。
无论如何,请尝试清理Catalyst子项目,然后重建自动生成的源。要在IntelliJ中执行此操作,请转到查看-
然后导航到“Maven项目”选项卡中的“Spark Project Catalyst”。
导航到“清理”-
现在,您将看到Antlr类的自动生成源是不同的,它们应该编译。YMMV。
我遇到了同样的问题。以下是我的解决方案:
希望它能帮助你。
昨天我从Eclipse转到IntellijIDEA。 我也在WebSphere Server7中使用JRebel。 难道没有办法让IntelliJ自己做到这一点吗?
问题内容: IDEA具有强大的内置功能-反编译器。它可以很好地工作。我可以复制源代码,但是找不到将所有反编译的Java类提取到Java文件的选项。 这个项目有很多Java类和程序包,所以我将很长时间手动复制它。 有谁知道如何提取到Java源文件。谢谢 问题答案: 要从命令行对jar包使用IntelliJ Java反编译器,请遵循此处提供的说明:https : //github.com/JetBra
如果我使用diretory“C:\development\workspace\java\vertx\hello”中的命令行,并使用命令“vertx run jsverticle.js”,那么一切都正常。如果我从IntelliJ运行应用程序,我会得到一个异常:“部署verticle java.lang.ClassNotFoundException失败:jsVerticle.js”。如果我使用程序参数
我转到设置->错误->序列化问题->没有'serial versionuid'的Serializable类,但它仍然没有显示警告。我的类PKladrBuilding父类实现了接口可序列化。 代码的一部分:
问题内容: 所以我在IntelliJ中有一个Maven模块(模块A)。最近,我将一些类从其中移到了另一个新的Maven模块(模块B)中,并为其添加了依赖项。完成此操作后,我还修改了其中一个移动类(现在位于模块B中)的方法的签名。 我重新导入了poms,以便IntelliJ拾取依赖项更改,并确保受影响的文件的所有Java导入都再次正确。现在,当我尝试运行我的webapp(取决于两个模块)时,在模块A
我正在尝试在完成构建后启动一个项目(