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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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写入Teradata会导致阻塞队列_Apache Spark_Spark Streaming_Teradata_Spark Structured Streaming - Fatal编程技术网

Apache spark Spark JDBC写入Teradata会导致阻塞队列

Apache spark Spark JDBC写入Teradata会导致阻塞队列,apache-spark,spark-streaming,teradata,spark-structured-streaming,Apache Spark,Spark Streaming,Teradata,Spark Structured Streaming,我正在尝试使用spark.jdbc.write将流式数据写入Teradata表,此操作正在启用Teradata表上的多个线程,从而导致阻塞查询的情况 有没有办法处理多个线程并使其成为单线程?将写操作设置为单线程将失去使用Spark的意义,并最终导致应用程序效率低下 但是,您可以减少写入线程的数量,以提高写入操作的效率 有两个步骤: 将RDD/DataFrame重新分区,其数值低于处理阶段,这样就可以减少写入Teradata的内核的数量(如果您真的愿意,您甚至可以为每个执行器指定一个写入线程) 建

我正在尝试使用
spark.jdbc.write
将流式数据写入Teradata表,此操作正在启用Teradata表上的多个线程,从而导致阻塞查询的情况


有没有办法处理多个线程并使其成为单线程?

将写操作设置为单线程将失去使用Spark的意义,并最终导致应用程序效率低下

但是,您可以减少写入线程的数量,以提高写入操作的效率

有两个步骤:

  • 将RDD/DataFrame重新分区,其数值低于处理阶段,这样就可以减少写入Teradata的
    内核的数量(如果您真的愿意,您甚至可以为每个执行器指定一个写入线程)
  • 建议对Teradata使用Spark connector,这样您就能够以Teradata可识别的方式配置连接线程的数量

  • 我不熟悉Teradata,有没有什么方法可以在TD中创建接受并行插入的表。因为Spice正在启动多个线程。@ USER 5663155考虑在TelAdvices文档中检查这一点,或者创建一个新的问题。