2017-05-22 5 views
0

にモデルデータを保存しない:私は地元としてそれを実行すると、それがいることを/フォルダALSIndexerを生成し、私のマシンでMLlib我々はおおよそ次のようになり、機械学習モデル持っスパーク2.1

sc = SparkContext(appName = "MLModel") 
sqlCtx = SQLContext(sc) 
df = sqlCtx.createDataFrame(data_res_promo) 
#where data_res promo comes from a pandas dataframe 
indexer = StringIndexer(inputCol="Fecha_Code", outputCol="Fecha_Index") 
train_indexer = indexer.fit(df) 
train_indexer.save('ALSIndexer') #This saves the indexer architecture 

を寄木張りとモデルに関するすべての情報があります。

SparkのAzureクラスタで実行すると、メインノード(またはスレーブ)のフォルダは生成されません。しかし、書き直すと次のようになります:

cannot overwrite folder 

これは、どこかにあることを意味しますが、わかりません。

ポインタはありますか?

+0

クラスタ上の分散ファイルシステム(hdfsまたは同等のもの)を確認しましたか? – Shaido

+0

/home/ml/alsindexerのようなHDFSの絶対パスを指定してください。私はそれが/ user/spark /に書き込もうとしているかもしれないと仮定します。 –

+0

@Shaidoは正しいです、それはhdfsにあります、それはちょうどコピーバックの問題でした。あなたはポイントを得るためにそれを答えて気にしますか? –

答えて

1

デフォルトでは、ファイルは分散ファイルシステム(おそらくHDFS)に保存されます。したがって、ファイルはノード自体には表示されませんが、存在すると「フォルダを上書きできません」というエラーメッセージが表示されます。

ファイルをHDFSから簡単にアクセスして、メインノードにコピーすることができます。これは、これらのいずれかのコマンドにより、コマンドラインで実行できます。またorg.apache.hadoop.fs.FileSystemをインポートすることによって行われ、そこにコマンドが利用可能に活用することができ

1.hadoop fs -get <HDFS file path> <Local system directory path> 
2.hadoop fs -copyToLocal <HDFS file path> <Local system directory path> 

関連する問題