使用 SQLContext 从 pyspark 创建雪花 table

Create a snowflake table from pyspark using SQLContext

我想从我的 pyspark 代码创建雪花 table,如下所示:

import pyspark.sql import SparkSession
import pyspark.sql.context import SQLContext
from pyspark import SparkContext

sc = SparkContext.getOrCreate()
sqlContext = SQLContext(sc)
sqlContext.sql("create or replace table NEW_TABLE (id integer, desc varchar)")

我收到这个错误

您的代码将创建 Hive table 而不是 Snowflake table。你必须像这样按数据框写

sfOptions = {
    'sfUrl': '...',
    'sfUser': '...',
    'sfPassword': '...',
    ...
}

(df
    .write
    .format('snowflake')
    .mode(mode)
    .options(**sfOptions)
    .save()
)

或者,如果你真的想从 Spark 触发单个 Snowflake 查询,你可以使用 Snowflake runQuery API

query = "create or replace table NEW_TABLE (id integer, desc varchar)"
spark._jvm.net.snowflake.spark.snowflake.Utils.runQuery(sfOptions, query)