2016-10-10 10 views
2

私はApache Sparkの初心者です。基本的に、私はspark-shellに次のインポートを実行していたスパークシェルのインポートは問題ありませんが、クラス参照時にエラーが発生します

import org.apache.spark.sql.{DataFrame, Row, SQLContext, DataFrameReader} 
import org.apache.spark.{SparkConf, SparkContext} 
import org.apache.spark.sql._ 
import org.apache.hadoop.hive.ql.io.orc.{OrcInputFormat,OrcStruct}; 
import org.apa‌​che.hadoop.io.NullWritable; 
... 

val rdd = sc.hadoopFile(path, 
    classOf[org.apache.hadoop.hive.ql.io.orc.OrcInputFor‌​mat], 
    classOf[NullWritable], 
    classOf[OrcStruct], 
    1) 

OrcInputFormatがいることを除いて、正常に動作までアップimport文:それは意味がありません

error: object apa‌​che is not a member of package org import org.apa‌​che.hadoop.io.NullWritable;

前のimport文が何の問題もなく通過した場合。 OrcInputFormatを参照する際に加えて

は、私が言われた:

error: type OrcInputFor‌​mat is not a member of package org.apache.hadoop.hive.ql.io.orc

それは(エラーがスローされませんので、私は、それが動作すると仮定)OrcInputFormatのインポートが動作することを奇妙に思えるが、その後、上記エラーメッセージが表示されます。基本的には、S3からORCファイルを読み込もうとしています。

また、私は何が間違っているのか、なぜこれが起こっているのかを見ています。

  1. を私は--jarsオプションでspark-shellを実行しようとした、とhadoop-common-2.6.0.jar(スパークの私の現在のバージョンは1.6.1で、Hadoopの2.6でコンパイルされた)
  2. をインポートしようとしている:私が行っている何

    val df = sqlContext.read.format("orc").load(PathToS3)Read ORC files directly from Spark shell)。私はS3、S3n、S3aのバリエーションを何も成功させずに試しました。

答えて

1

あなたは最も確かに起因するコピーペーストに、最後のインポートにorg.apecheの間に2非印刷文字を持っている:

import org.apa‌​che.hadoop.io.NullWritable; 

ただ、最後のimport文を書き換え、それが動作します。また、これらのセミコロンは必要ありません。

あなたはOrcInputFormatと同じ問題を抱えている:StackOverflowののモバイル版で、面白いです

error: type OrcInputFor‌​mat is not member of package org.apache.hadoop.hive.ql.io.orc 

たちはクリアリー、それらの非印刷文字を見ることができます:

enter image description here

+0

感謝を!これはかなり卑劣なものでした...これは 'エラー:OrcInputFor matがorg.apache.hadoop.hive.ql.io.orcパッケージのメンバーではありません。解決していないようですが、残念なことに... – Stanley

+0

参照私の更新、同じ問題と同じ解決策!それがあなたを助けたら、私の答えを受け入れる/投票してください、ありがとう – cheseaux

関連する問題