0

Hadoop、機械学習、Spark を学んでいます。Cloudera 5.7 Quick Start VM をダウンロードしました。また、サンプルをhttps://github.com/apache/sparkからzip ファイルとしてダウンロードし、Cloudera VM にコピーしました。機械学習とhttps://github.com/apache/sparkの例を実行するのに挑戦してい ます。簡単な単語カウントの例を実行しようとしましたが、失敗しました。以下は私の手順と私が得るエラーです

[cloudera@quickstart.cloudera] cd /spark-master/examples/src/main/python/ml [cloudera@quickstart.cloudera] spark-submit word2vec_example.py

実行しようとしたすべての例は、以下のエラーで失敗します。

トレースバック (最新の呼び出しが最後): ファイル "/home/cloudera/training/spark-master/examples/src/main/python/ml/word2vec_example.py"、23 行目、pyspark.sql import SparkSession から

ファイル pyspark.sql を検索しましたが、以下のファイル cd /spark-master find しか見つかりませんでした。-name pyspark.sql ./python/docs/pyspark.sql.rst

機械学習とビッグデータを高速化するためにこの例を実行できるように、これらのエラーを解決する方法についてアドバイスしてください。

ワードカウントの例のコードは以下のとおりです

猫 word2vec_example.py

#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

from __future__ import print_function

# $example on$
from pyspark.ml.feature import Word2Vec
# $example off$
from pyspark.sql import SparkSession

if __name__ == "__main__":
    spark = SparkSession\
        .builder\
        .appName("Word2VecExample")\
        .getOrCreate()

    # $example on$
    # Input data: Each row is a bag of words from a sentence or document.
    documentDF = spark.createDataFrame([
        ("Hi I heard about Spark".split(" "), ),
        ("I wish Java could use case classes".split(" "), ),
        ("Logistic regression models are neat".split(" "), )
    ], ["text"])
    # Learn a mapping from words to Vectors.
    word2Vec = Word2Vec(vectorSize=3, minCount=0, inputCol="text", outputCol="result")
    model = word2Vec.fit(documentDF)
    result = model.transform(documentDF)
    for feature in result.select("result").take(3):
        print(feature)
    # $example off$

    spark.stop()
4

1 に答える 1

0

23行目:spark = SparkSession\

SparkSession は Spark 2.0 の新機能であり、Cloudera はデフォルトで Spark 1.6 にのみ同梱されています。Spark 1.6 からサンプルをダウンロードするか、Spark 2.0 を Cloudera にインストールできます。

于 2016-12-21T11:36:55.430 に答える