2016-07-25 16 views
5

Tôi có chương trình SparkR đơn giản, để tạo SparkR DataFrame và truy xuất/thu thập dữ liệu từ đó.Không thể truy xuất dữ liệu từ SparkR đã tạo DataFrame

Sys.setenv(HADOOP_CONF_DIR = "/etc/hadoop/conf.cloudera.yarn") 
Sys.setenv(SPARK_HOME = "/home/user/Downloads/spark-1.6.1-bin-hadoop2.6") 
.libPaths(c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib"), .libPaths())) 
library(SparkR) 
sc <- sparkR.init(master="yarn-client",sparkEnvir = list(spark.shuffle.service.enabled=TRUE,spark.dynamicAllocation.enabled=TRUE,spark.dynamicAllocation.initialExecutors="40")) 
hiveContext <- sparkRHive.init(sc) 

n = 1000 
x = data.frame(id = 1:n, val = rnorm(n)) 
xs <- createDataFrame(hiveContext, x) 

xs 

head(xs) 
collect(xs) 

Tôi có thể tạo và xem thông tin thành công, nhưng bất kỳ thao tác nào liên quan đến tìm nạp dữ liệu đều được ném xuống dưới lỗi.

16/07/25 16:33:59 WARN TaskSetManager: Lost nhiệm vụ trong giai đoạn 0,3 17,0 (TID 86, wlos06.nrm.minn.seagate.com): java.net.SocketTimeoutException: Nhận timed out tại java.net.PlainSocketImpl.socketAccept (Phương thức Gốc) tại java.net.AbstractPlainSocketImpl.accept (AbstractPlainSocketImpl.java:398) tại java.net.ServerSocket.implAccept (ServerSocket.java WEBC30) tại java.net. ServerSocket.accept (ServerSocket.java:498) tại org.apache.spark.api.r.RRDD $ .createRWorker (RRDD.scala: 432) tại org.apache.spark.api.r.BaseRRDD.compute (RRDD .scala: 63) tại org.apache.spark.rdd.RDD.computeOrReadCheckpoint (RDD.scala: 306) tại org.apache.spark.rdd.RDD.iterator (RDD.scala: 270) tại org.apache.spark.rdd.MapPartitionsRDD.compute (MapPartitionsRDD.scala: 38) tại org.apache.spark.rdd. RDD.computeOrReadCheckpoint (RDD.scala: 306) tại org.apache.spark.rdd.RDD.iterator (RDD.scala: 270) tại org.apache.spark.rdd.MapPartitionsRDD.compute (MapPartitionsRDD.scala: 38) tại org.apache.spark.rdd.RDD.computeOrReadCheckpoint (RDD.scala: 306) tại org.apache.spark.rdd.RDD.iterator (RDD.scala: 270) tại org.apache.spark.rdd. MapPartitionsRDD.compute (MapPartitionsRDD.scala: 38) tại org.apache.spark.rdd.RDD.computeOrReadCheckpoint (RDD.scala: 306) tại org.apache.spark.rdd.RDD.iterator (RDD.scala: 270) tại org.apache.spark.scheduler.ResultTask.runTask (ResultTask.scala: 66) tại org.apache.spark.scheduler.Task.run (Task.scala: 89) tại org.apache.spark.executor.Executor $ TaskRunner.run (Executor.scala: 214) tại java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1145) tại java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:615) tại java.lang.Thread.run (Thread.java:745)

16/07/25 16:33:59 ERROR TaskSetManager: Tác vụ 0 trong giai đoạn 17.0 thất bại 4 lần; aborting job 16/07/25 16:33:59 ERROR RBackendHandler: dfToCols trên org.apache.spark.sql.api.r.SQLUtils không thành công Lỗi trong invokeJava (isStatic = TRUE, className, methodName, ...): org.apache.spark.SparkException: Công việc bị hủy bỏ do lỗi giai đoạn: Nhiệm vụ 0 ở giai đoạn 17.0 thất bại 4 lần, thất bại gần đây nhất: Mất tác vụ 0.3 trong giai đoạn 17.0 (TID 86, wlos06.nrm.minn.seagate.com): java.net.SocketTimeoutException: Chấp nhận hết thời gian tại java.net.PlainSocketImpl.socketAccept (Phương thức gốc) tại java.net.AbstractPlainSocketImpl.accept (AbstractPlainSocketImpl.java:398) tại java.net.ServerSocket.implAccept (ServerSocket. java: 530) tại java.net.ServerSocket.accept (ServerSocket.java:498) tại org.apache.spark.api.r.RRDD $ .createRWorker (RRDD.scala: 432) tại org.apache.spark.api.r.BaseRRDD.compute (RRDD.scala: 63) tại org.apache.spark.rdd.RDD.computeOrReadCheckpoint (RDD.scala: 306) tại org.apache.spark. rdd.RDD.iterator (RDD.scala: 270) tại org.apache.spark.rdd.MapPartitionsRDD.compute (MapPartitionsRDD.scala: 38) tại org.apache.spark.rdd.RDD.computeOrReadCheckpoint (RDD.scala: 306) tại org.apache.spark.rdd.RDD.iterator (RDD.scala: 270) tại org.apache.spark.rdd.MapPartitionsRDD.compute (MapPar

Nếu tôi thực hiện nó bằng dòng lệnh sparkR như dưới đây, nó nhận được thực hiện.

~/Downloads/spark-1.6.1-bin-hadoop2.6/bin/sparkR --master yarn-client 

Nhưng khi tôi thực hiện nó thông qua R, và sparkR. .? init ((master = "sợi-client"), nó ném lỗi

có thể ai đó xin vui lòng giúp giải quyết các lỗi này

+0

Tôi gặp cùng một vấn đề. Làm thế nào bạn sửa chữa nó? –

Trả lời

5

Thêm dòng này làm cho sự khác biệt:

Sys.setenv("SPARKR_SUBMIT_ARGS"="--master yarn-client sparkr-shell") 

Đây là mã đầy đủ:

Sys.setenv(HADOOP_CONF_DIR = "/etc/hadoop/conf.cloudera.yarn") 
Sys.setenv(SPARK_HOME = "/home/user/Downloads/spark-1.6.1-bin-hadoop2.6") 
.libPaths(c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib"), .libPaths())) 
library(SparkR) 
Sys.setenv("SPARKR_SUBMIT_ARGS"="--master yarn-client sparkr-shell") 
sc <- sparkR.init(sparkEnvir = list(spark.shuffle.service.enabled=TRUE,spark.dynamicAllocation.enabled=TRUE,spark.dynamicAllocation.initialExecutors="40")) 
hiveContext <- sparkRHive.init(sc) 

n = 1000 
x = data.frame(id = 1:n, val = rnorm(n)) 
xs <- createDataFrame(hiveContext, x) 

xs 

head(xs) 
collect(xs) 
Các vấn đề liên quan