在Shell 中 Spark-SQL 的调试

对于熟悉Scala开发的人来说,对于spark-sql的使用,直接jar包中写入代码处理就能轻松实现动态语句的执行。
但是对于我,不打算学习Scala和Java语言,但是又想定时执行时间推延的周期、定时任务,该肿么办?

一 Spark-SQL 是什么

1: Spark-SQL参见参数

在这里插入图片描述
\

  • -d
    :–define <key=value> 定义键值对
    :–database 定义使用的数据库
  • -e : 是运行sql语句,适用于简单的sql
  • -f :是运行sql文件,适用于复杂的sql语句
  • -H
    –hiveconf <property=value> 可以替换hive sql中的变量,实现动态参数
    – hivevar <key=value> 用户自定义变量
  • -i : 初始化的SQL文件
  • -S :Silent mode 模式 (静音交付模式)
  • -v :Verbose mode 模式(输出详细的信息)

二 Spark-SQL 调试的各种方式

1. local 模式

spark-sql -e "
use src;
select * from src_acadsoc_com_acc_coupon limit 10; "

2. hiveconf 用法,用于传递参数

备注:2个的不可以

spark-sql --hiveconf table=src_acadsoc_com_acc_coupon -e "
use src;
select id from ${table} limit 10; "

##3. hivevar用法
备注:2个的不可以

spark-sql --hivevar table=src_acadsoc_com_acc_coupon -e "
use src;
select * from ${table} limit 10;"

##4. Spark-SQL ON YARN clinet 模式

  • 例子一
spark-sql --master yarn --executor-memory 1G -e "
use src;
select * from src_acadsoc_com_acc_coupon limit 10; "
  • 例子二
spark-sql --master yarn \
--deploy-mode client \
--driver-memory 1G \
--executor-memory 1G \
--num-executors 2 \
--executor-cores 2 \
-e "
use src;
select * from src_acadsoc_com_acc_coupon limit 10; "
  • 例子三 define 定义配置信息
spark-sql --master yarn \
--deploy-mode client \
--driver-memory 4G \
--executor-memory 1G \
--num-executors 4 \
--executor-cores 2 \
--define spark.sql.shuffle.partitions=100 \
-e "
use spark_ods;
select count(*) from (
select a.uid from spark_ods_base_acadsoc_com_cn_uc_user_day a
join 
spark_ods_base_acadsoc_com_cn_uc_user_day b
join 
spark_ods_base_acadsoc_com_cn_uc_user_day c
where a.uid=b.uid and a.uid=c.uid)
c
; "
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值