我正在使用pyspark 2.4,并且已经启用了HiveSupport:
function pickColor() {
chrome.storage.sync.get('color', function(color) { // or data, but then use data.color
var test = document.querySelector('a[data-style-name=' + color + ']');
if (test) chrome.runtime.sendMessage({redirect: test.href});
})
}
但是当我跑步时:
spark = SparkSession.builder.appName("spark").enableHiveSupport().getOrCreate()
我遇到了错误:
spark.sql("""
CREATE TABLE reporting.sport_ads AS
SELECT
*
, 'Home' as HomeOrAway
, HomeTeam as TeamName
FROM adwords_ads_brand
UNION
SELECT
*
, 'Away' as HomeOrAway
, AwayTeam as TeamName
FROM adwords_ads_brand
""")
对我来说没有任何意义,我做错了什么吗?
ps:我必须补充一点,此代码在databricks和Scala中的Spark上都能很好地工作。
答案 0 :(得分:1)
在您的 pyspark
>>> spark.sparkContext.getConf().get("spark.sql.catalogImplementation")
如果属性值未设置为 hive
。
尝试在pyspark shell中传递以下conf
--conf spark.sql.catalogImplementation=hive
然后再次运行您的代码。
UPDATE:
根据联合查询创建 dataframe
:
val df = spark.sql("""SELECT
*
, 'Home' as HomeOrAway
, HomeTeam as TeamName
FROM adwords_ads_brand
UNION
SELECT
*
, 'Away' as HomeOrAway
, AwayTeam as TeamName
FROM adwords_ads_brand""")
然后使用 .saveAsTable
函数将数据框另存为表
df.format("<parquet,orc..etc>").saveAsTable("<table_name>")