2016-07-28 11 views
0

spark LDAアルゴリズムを使用してウィキペディアのデータをトピックモデリングしようとしています: 入力ファイルは、基本的には多くのxmlファイルを含む大きなbz2ファイルです。 私は火花のウェブサイトで基本的なスパークScalaのコードを使用しています:それは、データを処理doesntのSpark ScalaがWikipediaのデータを解析できません:enwiki_latest_articles xml bz2

val sc:SparkContext = new SparkContext(conf); 
val ssqlc:SQLContext = new org.apache.spark.sql.SQLContext(sc); 
val shsqlc:HiveContext = new org.apache.spark.sql.hive.HiveContext(sc); 

// Load and parse the data 

val data = sc.textFile("/user/enwiki-latest-pages-articles.xml.bz2") 

//val datanew = data.mapPartitionsWithIndex { (idx, iter) => if (idx == 0) iter.drop(1) else iter } 



val parsedData = data.map(s => Vectors.dense(s.trim.split(' ').map(_.toDouble))) 
    // Index documents with unique IDs 
    val corpus = parsedData.zipWithIndex.map(_.swap).cache() 
// Cluster the documents into three topics using LDA 
val ldaModel = new LDA().setK(25).run(corpus) 

// Output topics. Each is a distribution over words (matching word count vectors) 
println("Learned topics (as distributions over vocab of " + ldaModel.vocabSize + " words):") 
val topics = ldaModel.topicsMatrix 
for (topic <- Range(0, 25)) { 
    print("Topic " + topic + ":") 
    for (word <- Range(0, ldaModel.vocabSize)) { print(" " + topics(word, topic)); } 
    println() 
// val newtopics = ldaModel.describeTopics(5).foreach(println) 



} 

とのようなエラーがスローされます。

ERRORのexecutor.Executor:段階0.0でタスク5.0での例外を(TID 2) java.lang.NumberFormatException:空文字列16/07/28 09:24:35エラー executor.Executor:ステージ0.0(TID 5)のタスク10.0の例外 java.lang.NumberFormatException:入力文字列: "|" 16/07/28 午前9時24分35秒ERRORのexecutor.Executor:段階におけるタスク7.0での例外0.0 (TID 3)java.lang.NumberFormatException:入力文字列の場合: "|}"

ができる人これで私を助けてください? これを強化する簡単なコードは役に立ちます。 ありがとうございます。

答えて

0

問題は、データに数字以外の文字列が含まれていることです。したがって、これは失敗している:あなたはあなたが興味のある唯一の数値フィールドをあなたのデータをクリーンアップまたは抽出必要

s.trim.split(' ').map(_.toDouble) 

+0

彼らは、XMLファイルのセットであり、私はあることをスカラ座にはかなり新しいです。 bz2ファイルにあるxmlファイルのセットを文書のコーパスを表す単語数ベクトルに変更することができます。 – user2122466

+0

@ user2122466いくつかの努力を示してください。新しいことは試していないことの言い訳ではありません。 – Dikei

関連する問題