2016-08-05 25 views
1

我尝试编写SnappySQLJob时出现编译时错误。我错过了一个依赖关系吗?org.apache.spark.sql.catalyst.TableIdentifier在SnappySQLJob中无法解析错误

的错误信息是:

类型org.apache.spark.sql.catalyst.TableIdentifier不能得到解决。它是间接需要的.class文件中引用

@Override 
    public Object runJob(Object sparkContext, Config jobConfig) { 
     SnappyContext snappyContext = (SnappyContext)sparkContext; 

     String fileResource = "data.csv"; 

     DataFrame dataFrame = snappyContext.read() 
       .format("com.databricks.spark.csv") 
       .option("header", "true") 
       .option("inferSchema", "true") 
       .load(fileResource); 

     // Compile-Time error is on this line 
     dataFrame.write().insertInto("example_table_col"); 


     return null; 
    } 

这里是我的pom.xml依赖:

<dependency> 
     <groupId>io.snappydata</groupId> 
     <artifactId>snappy-core_2.10</artifactId> 
     <version>0.2.1-PREVIEW</version> 
    </dependency> 
    <dependency> 
     <groupId>io.snappydata</groupId> 
     <artifactId>snappy-tools_2.10</artifactId> 
     <version>0.2.1-PREVIEW</version> 
     <exclusions> 
      <exclusion> 
       <artifactId>jdk.tools</artifactId> 
       <groupId>jdk.tools</groupId> 
      </exclusion> 
      <exclusion> 
       <artifactId>logback-classic</artifactId> 
       <groupId>ch.qos.logback</groupId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

回答

1

这个老版本似乎缺少spark-catalyst依赖。我会建议升级到0.5版版本而不是(snappy-tools现在被称为snappy-cluster)和snappydata集群也应升级到0.5

对于0.2.1版本,下面应纠正问题:

<dependency> 
    <groupId>io.snappydata</groupId> 
    <artifactId>snappy-spark-catalyst_2.10</artifactId> 
    <version>1.6.0-BETA</version> 
</dependency> 
<dependency> 
    <groupId>io.snappydata</groupId> 
    <artifactId>snappy-spark-sql_2.10</artifactId> 
    <version>1.6.0-BETA</version> 
</dependency>