错误而使用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