2016-05-09 7 views
0

私は4つのノードを持つhadoopクラスタを持っています。そして、hdfsに格納されたファイルからいくつかのハイブテーブルを作成します。次に、mysqlをハイブのメタストアとして設定し、sparkのconfフォルダ内にhive-site.xmlファイルをコピーします。このユースケースでは、どのクラスタマネージャーのスパークが使用されていますか?

hadoopクラスタを開始するには、私はdfsを開始し、また、yarn.shも開始しました。それから私は、ハイブのテーブルを作成し、そして今、イムは次のように、hivecontext用いたスパークSQLからハイブのテーブルに対していくつかのクエリを実行:

var hiveContext = new org.apache.spark.sql.hive.HiveContext(sc) 
query = hiveContext.sql("select * from customers"); 
query.show 

私の疑問は、クラスタマネージャの火花が使用している。この場合には、ありますか?糸ですか?私は./start-yarn.shコマンドで糸を始めたので?または、私は何かを構成する必要があります糸と私はそれが別のクラスターマネージャーを使用していない場合、嫌な人ですか? あなたの意見では、どのクラスターがこの場合に適していますか?それとも無関心ですか?

答えて

2

スパーク送信中に--masterに基づいてローカル、クライアント、またはクラスタを使用します。

./bin/spark-submit \ 
    --class myclass \ 
    --master yarn \ 
    --deploy-mode cluster \ 
    --executor-memory 20G \ 
    --num-executors 50 \ 
    myapp.jar \ 

か、

val conf = new SparkConf() 
      .setMaster("yarn-cluster") 
      .setAppName("myapp") 
val sc = new SparkContext(conf) 

以下のようなコードで指定することができ、それは火花シェル、

spark-shell --master yarn 

デフォルトであれば、私はそれがローカルモードを使用すると信じています。

+0

あなたの答えをありがとう。あなたが地元に言っているそのクラスターは、スパークスタンドだけのクラスターですか?ドキュメントでは、それは単なるスタンドアローン、ヤーンまたはメソに見えます。そして、あなたのコードで、クラスマネージャが "val sc = new SparkContext(conf)"のエラーを表示し、Imが "28:error:見つからない:type SparkContext。 – codin

+0

import org.apache.sparkをインポートしましたか?あなたはシェルで作業していますか? – WoodChopper

+0

シェルで作業しています – codin

関連する問題