Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark Apache Spark或Spark Cassandra连接器看起来不像是在并行读取多个分区?_Apache Spark_Cassandra_Apache Spark Sql_Spark Dataframe_Spark Cassandra Connector - Fatal编程技术网

Apache spark Apache Spark或Spark Cassandra连接器看起来不像是在并行读取多个分区?

Apache spark Apache Spark或Spark Cassandra连接器看起来不像是在并行读取多个分区?,apache-spark,cassandra,apache-spark-sql,spark-dataframe,spark-cassandra-connector,Apache Spark,Cassandra,Apache Spark Sql,Spark Dataframe,Spark Cassandra Connector,Apache Spark或Spark Cassandra连接器看起来不像是并行读取多个分区 这是我使用spark shell的代码 import org.apache.spark.sql._ import org.apache.spark.sql.types.StringType spark.sql("""CREATE TEMPORARY VIEW hello USING org.apache.spark.sql.cassandra OPTIONS (table "hello", keyspac

Apache Spark或Spark Cassandra连接器看起来不像是并行读取多个分区

这是我使用spark shell的代码

import org.apache.spark.sql._
import org.apache.spark.sql.types.StringType
spark.sql("""CREATE TEMPORARY VIEW hello USING org.apache.spark.sql.cassandra OPTIONS (table "hello", keyspace "db", cluster "Test Cluster", pushdown "true")""")
val df = spark.sql("SELECT test from hello")
val df2 = df.select(df("test").cast(StringType).as("test"))
val rdd = df2.rdd.map { case Row(j: String) => j }
val df4 = spark.read.json(rdd) // This line takes forever 
我有大约7亿行,每行大约1KB,这行

val-df4=spark.read.json(rdd)
当我得到以下输出时,会花费很长时间

第一阶段:=======>(4866+24)/25256]

所以按照这个速度,大概需要3小时

我使用iftop测量了spark worker节点的网络吞吐量,大约为75MB/s(每秒兆字节),这相当不错,但我不确定它是否在并行读取分区。有没有办法加快速度

这是我的狗


您的应用程序占用了多少执行器/核心?什么是
spark.defaultParallelism
值?我在spark-env.sh导出spark\u WORKER\u CORES=12导出spark\u MASTER\u OPTS=“-Dspark.deploy.defaultCores=4”中有以下值,我可以很快尝试您建议的任何值。spark.defaultParallelism(我认为我没有为此设定任何值,事实上,我甚至不知道如何在脑海中设定)。因此,无论默认设置是什么,我使用的是独立群集。您可以为Spark作业附加一个屏幕截图吗?你能在你的问题中包括Spark任务的DAG吗?看起来只有两个任务并行运行。您有多少个Cassandra节点?您的设置建议每个执行器应该有12个内核,这意味着24个任务应该并行运行。因此,我认为您应该查看连接器的ReadConf。您的应用程序占用了多少执行器/核心?什么是
spark.defaultParallelism
值?我在spark-env.sh导出spark\u WORKER\u CORES=12导出spark\u MASTER\u OPTS=“-Dspark.deploy.defaultCores=4”中有以下值,我可以很快尝试您建议的任何值。spark.defaultParallelism(我认为我没有为此设定任何值,事实上,我甚至不知道如何在脑海中设定)。因此,无论默认设置是什么,我使用的是独立群集。您可以为Spark作业附加一个屏幕截图吗?你能在你的问题中包括Spark任务的DAG吗?看起来只有两个任务并行运行。您有多少个Cassandra节点?您的设置建议每个执行器应该有12个内核,这意味着24个任务应该并行运行。因此,我认为您应该查看连接器的ReadConf。