2017-10-31 3 views
0

독립 실행 형 모드에서 spark를 사용하고 sparklyr을 사용하여 spark에 액세스하고 있습니다. 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} 

I 및 128 개 코어 및 메모리의 2TB와 우분투 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")