错误而使用PostgreTable JDBCUtils的truncateTable方法使用星火

我试图用JDBCUtils截断表从星火postgre_table,但它抛出下面的错误错误而使用PostgreTable JDBCUtils的truncateTable方法使用星火

< console>:71: error: value truncateTable is not a member of object org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils

val trucate_table = JdbcUtils.truncateTable()

我使用下面的代码:

import org.apache.spark.sql.execution.datasources.jdbc._ 

import java.sql.DriverManager

import java.sql.Connection

val connection : Connection = DriverManager.getConnection(postgres_host + postgres_database,postgres_username,postgres_password)

val table_existing = JdbcUtils.tableExists(connection, postgres_host + postgres_database, postgre_table)

JdbcUtils.truncateTable(connection, postgres_host + postgres_database, postgre_table)

我能够删除表,但不能截断它。我可以在https://github.com/apache/spark/blob/master/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/jdbc/JdbcUtils.scala中看到truncateTable方法

请提出解决方案以及如何在数据框中使用它。

回答:

看起来像你的编译时间和运行时间的火花库是不同的版本。请确保运行时版本匹配spark的编译时版本。似乎该方法仅在版本2.1中可用。

可以从这个版本:

https://github.com/apache/spark/blob/branch-2.1/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/jdbc/JdbcUtils.scala

以上是 错误而使用PostgreTable JDBCUtils的truncateTable方法使用星火 的全部内容, 来源链接: utcz.com/qa/263608.html

回到顶部