是这样的,我在dataGrap(连接了hive)写了脚本,脚本是这样的

insert overwrite table dwd_fact_order_detail partition (dt='$do_date')
selectt1.id,t1.order_id,t1.user_id,t1.sku_id,t1.sku_name,t1.order_price,t1.sku_num,t1.create_time,t1.province_id,t1.source_type,t1.source_id,
t1.original_amount_d,
`if`(t1.rk=1,t1.final_total_amount-(t1.final_amount_d_sum-final_amount_d),t1.final_amount_d) as final_amount_d,
`if`(t1.rk=1,t1.feight_fee-(t1.feight_fee_d_sum-t1.feight_fee_d),t1.feight_fee_d) as feight_fee_d ,
`if`(t1.rk=1,t1.benefit_reduce_amount-(t1.benefit_reduce_amount_d_sum-t1.benefit_reduce_amount_d),t1.benefit_reduce_amount_d) as benefit_reduce_amount_d
from(selectod.id,od.order_id,od.user_id,od.sku_id,od.sku_name,od.order_price,od.sku_num,od.create_time,oi.province_id,od.source_type,od.source_id,oi.final_total_amount,oi.feight_fee,oi.benefit_reduce_amount,ROUND(od.sku_num*od.order_price,2) as original_amount_d,-- 原始价格分摊ROUND((od.sku_num*od.order_price/oi.original_total_amount)*oi.final_total_amount,2) as final_amount_d,--购买价格分摊ROUND((od.sku_num*od.order_price/oi.original_total_amount)*oi.feight_fee,2) as feight_fee_d,-- 运费分担ROUND((od.sku_num*od.order_price/oi.original_total_amount)*oi.benefit_reduce_amount,2) as benefit_reduce_amount_d, -- 优惠分担sum(ROUND((od.sku_num*od.order_price/oi.original_total_amount)*oi.final_total_amount,2))  over(partition by od.order_id) as final_amount_d_sum,--购买价格分摊总和sum(ROUND((od.sku_num*od.order_price/oi.original_total_amount)*oi.feight_fee,2)) over(partition by od.order_id) as feight_fee_d_sum,--运费分摊总和sum(ROUND((od.sku_num*od.order_price/oi.original_total_amount)*oi.benefit_reduce_amount,2)) over(partition by od.order_id) as benefit_reduce_amount_d_sum,--运费分摊总和rank() over(partition by od.order_id order by oi.original_total_amount desc) as rk
from(select * from ods_order_detail where dt='$do_date') odjoin(select * from ods_order_info where dt='$do_date') oion od.order_id = oi.id)t1;

然后在dataGrap中跑是正常的。把这段SQL复制到shell脚本中,就一直报FAILED: UDFArgumentException The function DECIMAL takes only primitive types。

最终找到原因:dataGrap中能识别 飘号 `` ,但是shell中`if`识别有错。所以在shell中去掉 if的飘号就可以了

排坑-FAILED: UDFArgumentException The function DECIMAL takes only primitive types相关推荐

  1. node升级命令_Laravel Mix 4升级说明与“排坑儿”指南

    本篇是我们系列课程<Laravel5.7优雅实战入门:第二版>和<Laravel 5.7&Vue 2.x深度整合实战:第二版>的扩展阅读. 想要更好的阅读体验,请观看原 ...

  2. 问题-fuxi job failed ,cased by:Invalid decimal format.

    中台插数据问题 问题一 问题二 问题三 问题一 在跑SQL脚本从贴源层网共享层表插入数据时报如下错误 错误:FAILED: ODPS-0010000:System internal error -fu ...

  3. Dispatcher has no subscribers for channel排坑指南

    Dispatcher has no subscribers for channel排坑指南 通过Spring Cloud Stream解耦具体消息中间件,屏蔽掉不同中间件之间的差异,简化了消息中间件使 ...

  4. 排坑日记1:RuntimeError: one of the variables needed for gradient computation has been modified

    问题描述 在使用Pytorch复现DeepFill V1时,报如下错: RuntimeError: one of the variables needed for gradient computati ...

  5. Linux下的floodlight安装指南(排坑版)

    目录 一.先决条件(仔细核对,缺一不可!) Linux:你最喜欢的 Linux 风格 Java 开发工具包:JDK 8 for Floodlight master 及更高版本.JDK 7 for Fl ...

  6. 最新使用uniapp本地打包APP安卓,已排坑

    uniapp打包IOS!!! 1. 生成本地打包资源 2. 下载Android Studio和App离线SDK 导航路径:https://nativesupport.dcloud.net.cn/App ...

  7. 【在虚拟环境下完美解决】1698: error: (-215:Assertion failed) empty() in function cv::CascadeClassifier

    问题描述 官方文档做的Demo发现遇到了错误提示如下: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifi ...

  8. Go的闭包看你犯错,Rust却默默帮你排坑

    作者 | 马超 责编 | 晋兆雨 出品 | CSDN博客 初识闭包 闭包(Closure)在某些编程语言中也被称为 Lambda 表达式,是能够读取其他函数内部变量的函数.一般只有函数内部的子函数才能 ...

  9. rtl8811au黑苹果10.15_荣耀MagicBook I5黑苹果折腾记(超详细教程与排坑)

    本文主要介绍如何安装Win10 + Mac OS双系统,以及安装过程中可能遇到的一些坑. 本人的机型是:MagicBook I5-8250U MX150独显 8GB+256GB (VLT-W50),更 ...

最新文章

  1. PL/SQL编程:将两个数进行交换的存储过程
  2. 单链表-逆置单链表(头插法且双指针)
  3. 为nginx反向代理设置自定义错误页面
  4. 解决PendingIntent传递参数为空的问题
  5. 项目经历怎么写_这样写项目经历可以锦上添花
  6. RTT的内存管理篇——野火RTT讲解
  7. Redis学习---(7)Redis 字符串(String)
  8. ubuntu16.04安装wordpress
  9. 相声登上直播平台 传统艺术能借风口浴火重生吗?
  10. js去除空格12种方法
  11. 在深度学习时代如何用 HowNet 搞事情 | 讲座笔记
  12. VMware与xshell安装教程
  13. 火焰识别python_OpenCV_火焰检测——完整代码
  14. DOS命令学习(从入门到精通)
  15. 解决 Android App 上架 Google play后 ,签名变更,第三方sdk无法登录
  16. 微型计算机的cpu分类,微处理器分类及组成
  17. 一、音频基础知识 - 语音的基本特征
  18. 正则表达式中的前瞻,后顾,负前瞻,负后顾
  19. ctf:kali2:端口扫描:nmap和portscan
  20. 关于简历,网申,笔试,面试过程的分享

热门文章

  1. Log4j2配置以及滚动日志文件
  2. Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(七)Ability的信息传递等
  3. 考研高数常用公式汇总(下)
  4. NLPer福利 清华推出Prompt-tuning开源工具包,取代传统的微调fine-tuning
  5. MiniGPT4,开源了!
  6. 个人永久性免费-Excel催化剂功能第54波-批量图片导出,调整大小等
  7. 福州从事软件测试,自动化测试的个人经历
  8. Orange的数据挖掘聚类简单小实验(K-means)
  9. mininet2.2.1 + floodlight1.9 环境搭建
  10. 技术解析韵达快递,支撑业务生命线高效流转的底层逻辑