Spark JDBC写入Teradata导致阻塞队列

时间:2018-06-14 18:49:40

标签: apache-spark spark-streaming teradata spark-structured-streaming

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

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

1 个答案:

答案 0 :(得分:0)

使单线程写入会忽略使用Spark的重点,并将以一个完全低效的应用程序结束。

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

有两个步骤:

  1. 使用比处理阶段更低的数字重新分配您的RDD / DataFrame,因此较少量的cores可以写入Teradata(如果您真的需要,您甚至可以以每个执行程序一个写入线程结束)
  2. 建议使用Teradata的Spark连接器,这样就可以用Teradata识别的方式配置连接线程的数量。