【发布时间】:2017-11-01 05:46:55
【问题描述】:
我将 Spark 与 YARN 集群管理器一起使用。
我从 Cassandra 表创建了一个数据集,该表有大约 700 行,其中 5 列,其中一列包含 JSON 格式的数据。数据量仅以 MB 为单位。
我使用spark-shell 运行:
- spark.executor.memory=4g
- spark.driver.memory=2g
我收到此错误:
org.apache.spark.shuffle.FetchFailedException:无法连接到 org.apache.spark.storage.ShuffleBlockFetcherIterator.throwFetchFailedException 的 bosirahtaicas02.bscuat.local/172.17.0.1:53093(ShuffleBlockFetcherIterator.scala:323)
当我试图从我的 dataFrame 收集数据时
我直接在 spark-shell 中运行以下代码(逐行):
import org.apache.spark.sql._
import org.apache.spark.sql.cassandra._
import org.apache.spark.SparkConf
import org.apache.spark.rdd.RDD
import org.apache.spark.SparkContext
import com.datastax.spark.connector.cql._
import com.datastax.spark.connector._
import org.json._
import java.sql.Timestamp
val sqc = new SQLContext(sc)
val csc = new CassandraSQLContext(sc)
val allRecordsDF = sqc.read.format("org.apache.spark.sql.cassandra").
option("table", "xyz").
option("keyspace", 'pqr").load().cache()
val allRowsDF = allRecordsDF.select(allRecordsDF.col("record_type"), allRecordsDF.col("process_time"))
val allPatientsTS = allRowsDF.where(allRowsDF("record_type") === "patient").select("process_time").sort("process_time")
在这里,当我尝试收集 allPatientsTS Dataframe 时,它显示错误。
【问题讨论】:
-
您能附上来自
spark-shell和yarn logs -applicationId <application ID>的整个堆栈跟踪吗?你也可以yarn version吗?
标签: scala apache-spark apache-spark-sql spark-cassandra-connector