2017-10-31 15 views
0

私はスタンドアロンモードでsparkを使用していて、sparklyrを使用してスパークにアクセスしています。私は常に次のエラーを取得するしかしSpark(sparklyr)スタンドアロンモードを使用して寄木張りを書き込むことができません。DeprecatedRawLocalFileStatus

temp_parquet <- tempfile(fileext = ".parquet") 

temp_parquet1 <- tempfile(fileext = ".parquet") 

spark_write_parquet(train, temp_parquet) 

at java.lang.Thread.run(Thread.java:748) 
Caused by: java.io.IOException: Failed to rename DeprecatedRawLocalFileStatus 
{path=file:/tmp/RtmpZbeJyA/file167e088fa054.parquet/_temporary/0/ 
task_20171031030835_0010_m_000021/part-00021-9a9b102c-224e-445d-b704- 
7bddc915b2e7-c000.snappy.parquet; isDirectory=false; length=8468208; 
replication=1; blocksize=33554432; modification_time=1509419381000; 
access_time=0; owner=; group=; permission=rw-rw-rw-; isSymlink=false} 

私はと128個のコアとメモリの2TBとUbuntuのVMを使用して、私は次のコードを使用してファイルを寄木細工への書き込みしようとしています。私はディレクトリのアクセス許可を変更しましたが、これは何の違いもありません。

提案がありますか?

+0

sudoでspark-submitコマンドを実行しようとしましたか? –

答えて

0

私は、hdfsクラスタを作成し、ファイルを寄木細工としてhdfsに書き込むことで回避策を見つけました。 HDFSが起動して使用されたときのコードを次に示します。

#Create unique paths to temp 
temp_parquet <- tempfile(fileext = ".parquet") 
temp_parquet1 <- tempfile(fileext = ".parquet") 

#add hdfs to temp path 
test_path<-paste0("hdfs://localhost:9000", temp_parquet) 
train_path<-paste0("hdfs://localhost:9000", temp_parquet1) 

#write parquet files 
spark_write_parquet(spark_train_df, test_path, mode = "overwrite") 
spark_write_parquet(spark_test_df, train_path, mode = "overwrite") 
関連する問題