基于 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/