jdbc - 在 Spark 中,CREATE TABLE 命令是否创建外部表?

标签 jdbc apache-spark hive external-tables

基于 GitHub (https://github.com/databricks/spark-csv/issues/45) 中的以下线程,我了解到 CREATE TABLE + 选项(如 JDBC)将创建一个 Hive 外部表?。这些类型的表不会自行实现,因此当通过 SQL 删除表或从 Databricks 表 UI 中删除表时,不会丢失任何数据。

最佳答案

你可以很好地在 spark 中创建一个 EXTERNAL 表,但是你必须注意使用 HiveContext 而不是 SqlContext:

scala> import org.apache.spark.sql.hive._
import org.apache.spark.sql.hive._

scala> val hc = new HiveContext(sc)
hc: org.apache.spark.sql.hive.HiveContext = org.apache.spark.sql.hive.HiveContext@385ff04e

scala> hc.sql("create external table blah ( name string ) location 'hdfs:///tmp/blah'")
res0: org.apache.spark.sql.DataFrame = [result: string]

关于jdbc - 在 Spark 中,CREATE TABLE 命令是否创建外部表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36922836/

相关文章:

apache-spark - 在 Spark Streaming 中如何处理旧数据和删除已处理的数据

hive - Hadoop Metastore 不会初始化

hadoop - 将 hive 表写入 HDFS 文件时删除空格和 UTF

java - Servlet 中的线程安全

apache-spark - 联合很多RDD时引发堆栈溢出错误的Spark

java - 通过 jdbc 获取 Oracle DB LONG 类型的速度非常慢

python - Pyspark RDD 将当前行与下一行合并,直到当前行长度达到 x

apache - 创建分区 View 时 Hive 出错

java - SQLException : No suitable Driver Found for jdbc:oracle:thin:@//localhost:1521/orcl

windows - 如何在 Windows 10 上写入 Access 数据库