Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.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 Spark-jdbc读取驱动程序上的所有数据?_Apache Spark_Jdbc_Apache Spark Sql - Fatal编程技术网

Apache spark Spark-jdbc读取驱动程序上的所有数据?

Apache spark Spark-jdbc读取驱动程序上的所有数据?,apache-spark,jdbc,apache-spark-sql,Apache Spark,Jdbc,Apache Spark Sql,我从Jdbc源代码(oracle)中读取了spark,我指定了lowerbound、upperbound、numpartitions、partitioncolumn,但查看web ui,所有读取都发生在驱动程序上,而不是工作程序、执行器上。这是预期的吗?在Spark框架中,通常在转换中编写的任何代码(如map、flatMap等)都将在执行器上执行。要调用转换,您需要一个RDD,它是使用您试图计算的数据集创建的。要具体化RDD,您需要调用一个操作,以便将转换应用于数据 我相信在您的案例中,您已经编

我从Jdbc源代码(oracle)中读取了spark,我指定了lowerbound、upperbound、numpartitions、partitioncolumn,但查看web ui,所有读取都发生在驱动程序上,而不是工作程序、执行器上。这是预期的吗?

在Spark框架中,通常在转换中编写的任何代码(如map、flatMap等)都将在执行器上执行。要调用转换,您需要一个RDD,它是使用您试图计算的数据集创建的。要具体化RDD,您需要调用一个操作,以便将转换应用于数据

我相信在您的案例中,您已经编写了一个读取jdbc数据的spark应用程序。如果是这样的话,它将在驱动程序上执行,而不是在执行器上执行


如果还没有,请尝试使用API创建数据帧。

我读入了df,但只有转换阶段在执行器上运行。oracle 5000万行的读取阶段都发生在驱动程序上:-(如果您可以发布一些代码并向我们展示您正在尝试执行的操作,这可能会很有帮助。我手头没有,但从两行开始。Val df=jdbc.read.xxxx;df.write.parquet在Spark UI中,您可以看到numPartitions指示启动的任务数。每个任务都分布在执行者之间,这可以增加pa通过JDBC接口进行读写操作的集合。请参阅《Spark SQL编程指南》,了解有助于提高性能的其他参数,如fetchsize。我不相信您的答案是正确的。在Spark UI中,您可以看到numPartitions指示启动的任务数。每个任务分布在执行者之间,它可以通过JDBC接口提高读写的并行性。请参阅《Spark SQL编程指南》,了解有助于提高性能的其他参数,如fetchsize。如何运行应用程序?Spark提交客户端模式、独立调度程序、主控程序spark://host:7077,有向船长登记的工人