将 RDD 加载到 hive
Posted
技术标签:
【中文标题】将 RDD 加载到 hive【英文标题】:Load an RDD into hive 【发布时间】:2017-01-09 11:47:03 【问题描述】:我想在 spark 版本 1.6.x 中使用 pyspark 将 RDD (k=table_name, v=content) 加载到分区 hive 表(年、月、日)中
尝试使用此 SQL 查询的逻辑的整个过程:
ALTER TABLE db_schema.%FILENAME_WITHOUT_EXTENSION% DROP IF EXISTS PARTITION (year=%YEAR%, month=%MONTH%, day=%DAY%);LOAD DATA INTO TABLE db_schema.%FILENAME_WITHOUT_EXTENSION% PARTITION (year=%YEAR%, month=%MONTH%, day=%DAY%);
有人可以给点建议吗?
【问题讨论】:
【参考方案1】:spark = SparkSession.builder.enableHiveSupport().getOrCreate()
df = spark.sparkContext.parallelize([(1, 'cat', '2016-12-20'), (2, 'dog', '2016-12-21')])
df = spark.createDataFrame(df, schema=['id', 'val', 'dt'])
df.write.saveAsTable(name='default.test', format='orc', mode='overwrite', partitionBy='dt')
使用 enableHiveSupport() 和 df.write.saveAsTable()
【讨论】:
以上是关于将 RDD 加载到 hive的主要内容,如果未能解决你的问题,请参考以下文章