首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spark在SparkSqlParser.scala idea中编译时没有intelliJ文件

Spark在SparkSqlParser.scala idea中编译时没有intelliJ文件
EN

Stack Overflow用户
提问于 2016-02-25 02:45:35
回答 5查看 2.8K关注 0票数 9

我在我的红帽64中安装了火花-hadoop env。我还想在spark源代码项目中读写intelliJ idea中的代码。我已经下载了星火源代码,并使一切就绪。但我在IntelliJ idea中编译spark项目时出现了一些错误。以下是一些错误:

/home/xuch/IdeaProjects/spark/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/CatalystQI.scala 错误:(809,34)未找到:值SparkSqlParser case ast if ast.tokenType == SparlSqlParser.TinyintLiteral => 错误:(812,34)未找到:值SparkSqlParser case ast if ast.tokenType == SparlSqlParser.SmallintLiteral => ... ...

但实际上,我没有在整个项目中找到名为SparkSqlParser.scala的文件,也没有找到名为SparkSqlParser的scala类。

然而,我在网上搜索了一些名为SparkSqlParser.scala的文件,但是它们没有属性,比如"TinyintLiteral“、"SmallintLiteral”等等。以下是文件链接:

EN

回答 5

Stack Overflow用户

发布于 2016-10-23 16:02:04

我也遇到了同样的问题。这是我的解决方案:

  1. 下载antlr4 (即antlr v4)插件IntelliJ。然后您可以看到"spark-2.0.1\sql\catalyst\src\main\antlr4\org\apache\spark\sql\catalyst\parser\SqlBase.g4“文件可以被IntelliJ IDEA识别。
  2. 导航到View->Tool Windows->Maven Projects选项卡。选择项目“星火项目催化剂”。右击它。然后选择“生成源和更新文件夹”。
  3. 之后,您可以看到添加到"spark-2.0.1\sql\catalyst\target\generated-sources\antlr4“中的一些文件
  4. 然后你就可以建立成功的项目。

希望它能帮到你。

票数 18
EN

Stack Overflow用户

发布于 2017-09-25 09:30:31

这里的建议对我都没有用。但是,我注意到生成的代码依赖于Antlr 3.x,而Antlr 4.x是依赖项中的内容(mvn依赖:tree)。我不知道为什么会这样。也许是因为我之前从命令行(?)构建了它。

无论如何,尝试清理您的催化剂子项目,然后重建自动生成的资源。要在IntelliJ中做到这一点,请转到查看->工具窗口-> Maven项目。

然后导航到"Maven Project“选项卡中的”火花项目催化剂“。

导航到清洁->干净:清洁和双击它。导航到插件-> antlr4 -> antlr4 4:antlr4 4并双击它。

现在,您将看到Antlr类的自动生成源是不同的,它们应该编译。YMMV

票数 6
EN

Stack Overflow用户

发布于 2016-03-22 07:06:47

1)首先使用http://spark.apache.org/docs/latest/building-spark.html#building-with-buildmvn中给出的构建指令,从命令行构建星火

2)检查$SPARK_HOME/sql/catalyst/target/generated-sources/antlr3/org/apache/spark/sql/catalyst/parser文件夹。

一些生成的类(如SparkSqlLexer.java )就在那里。

它生成的类的列表是

代码语言:javascript
运行
复制
    SparkSqlLexer.java[enter link description here][1]    
    SparkSqlParser.java
    SparkSqlParser_ExpressionParser.java
    SparkSqlParser_FromClauseParser.java
    SparkSqlParser_IdentifiersParser.java
    SparkSqlParser_KeywordParser.java
    SparkSqlParser_SelectClauseParser.java

3)开放模块设置。点击火花催化剂模块。转到右边的Source选项卡。将目标/生成的源作为源文件夹。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35617277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档