spark数据查询语句select_使用PySpark编写SparkSQL程序查询Hive数据仓库

本文介绍如何使用PySpark编写Python脚本来连接Hive数据仓库并执行SQL查询。通过设置SparkConf和SparkContext,创建HiveContext执行SQL语句。脚本示例中展示了对Hive表的聚合查询,包括条件判断和分组求和。最后提到了使用`spark-submit`提交作业时的参数调优,如`num-executors`、`executor-memory`、`executor-cores`和`spark.default.parallelism`,以及SparkSQL相比于Hive的性能提升。
摘要由CSDN通过智能技术生成

作业脚本采用Python语言编写,Spark为Python开发者提供了一个API—–PySpark,利用PySpark可以很方便的连接Hive

下面是准备要查询的HiveSQL

select

sum(o.sale_price)

,sum(case when cate_id2 in(16,18) then o.sale_price else 0 end )

,sum(CASE WHEN cate_id2 in(13,15,17,19,20,21,22,156) THEN o.sale_price else 0 end )

FROM dw.or_order_item_total o

join dw.cd_item_total i on o.item_id = i.item_id and i.ds ='2018-03-31'

WHERE o.ds = '2018-03-31' and substr(o.ord_tm,1,7) ='2018-03'

;

下面是准备提交的Python脚本

#!/usr/bin/python

#-*-coding:utf-8 -*-

from pyspark import SparkConf, SparkContext

from pyspark.sql import HiveContext

import sys

def test():

reload(sys)

sys.setdefaultencoding( "utf-8" )

conf = SparkConf().setMaster("yarn-client").setAppName("My App")

sc &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值