2016-08-05 22 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>