• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >云计算 > hive 如何处理科学计数法,hive处理科学计数

hive 如何处理科学计数法,hive处理科学计数

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含科学计数法,初一科学计数法练习,科学计数法ppt,科学计数法怎么表示,科学计数法练习题等服务器相关知识,网友希望可以进行参考

hive 如何处理科学计数法,hive处理科学计数


说明:Hive中int , float , double这些数值类型在存储大额度数字时,在前端展现上总是使用科学计数法来表示,
这样搞的挺烦。举例说明

样例数据:
select lte_drop_rate from t_table limit 10;
输出结果:
5.0E-4
7.1E-4
5.41E-4
...
...

处理方案:
select 
(case
  --处理非科学计数法表示的字符串
  when length(regexp_extract(lte_drop_rate,'([0-9]+\\.)([0-9]+)(E-*[0-9]+)',2))=0
then lte_drop_rate
  --处理整数
  when length(regexp_extract(lte_drop_rate,'([0-9]+\\.)([0-9]+)(E[0-9]+)',2))<=cast(regexp_extract(lte_drop_rate,'(E)([0-9]+)',2) as int)
    then rpad(regexp_replace(regexp_extract(lte_drop_rate,'([^E]+)',1),'\\.',''),cast(regexp_extract(lte_drop_rate,'(E)([0-9]+)',2) as int)+1,'0')
  --处理小数
  when length(regexp_extract(lte_drop_rate,'([0-9]+\\.)([0-9]+)(E[0-9]+)',2))>cast(regexp_extract(lte_drop_rate,'(E)([0-9]+)',2) as int)
    then concat(substr(regexp_replace(regexp_extract(lte_drop_rate,'([^E]+)',1),'\\.',''),1,cast(regexp_extract(lte_drop_rate,'(E)([0-9]+)',2) as int)+1),'\.',
    substr(regexp_replace(regexp_extract(lte_drop_rate,'([^E]+)',1),'\\.',''),cast(regexp_extract(lte_drop_rate,'(E)([0-9]+)',2) as int)+2))
  --处理类似“3.4E-6”这种字符串
  when lte_drop_rate regexp 'E-'
    then concat('0.',repeat('0',cast(regexp_extract(lte_drop_rate,'(E)(-)([0-9]+)',3) as int)-1),regexp_replace(regexp_extract(lte_drop_rate,'(.+)(E)',1),'\\.',''))
  else lte_drop_rate
end)
from t_table limit 10


输出结果:
0.00050
0.00051
0.0010
。。。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • hive 如何处理科学计数法,hive处理科学计数
  • hive 不以科学计数法输出,hive计数法输出

相关文章

  • 机器学习算法-Adaboost,学习算法-adaboost
  • spark core源码分析7 Executor的运行,sparkexecutor
  • hive创建表语句详解,hive语句详解
  • Storm计算结果是如何存放的,Storm计算结果存放
  • Hive作为Mondrian的数据源,hivemondrian
  • LinkedIn Cubert安装指南,linkedincubert
  • 机器学习--Logistic回归算法案例,--logistic算法
  • MapReduce排序及实例,MapReduce排序实例
  • Hadoop新版和旧版中InputSplit大小的区别,hadoopinputsplit
  • MapReduce之RecordReader组件源码解析及实例,mapreduce实例

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • hive join详解,hivejoin
    • Hadoop新版和旧版中InputSplit大小的区别,hadoopinputsplit
    • Andrew Ng机器学习课程10补充,andrewng
    • Build Spark1.3.1 with CDH HADOOP,spark1.3.1cdh
    • 相似度计算map-reduce实现思路,计算map-reduce思路
    • hdfs一致性模型,hdfs一致性
    • 索引更新,oracle索引更新
    • HBase扫描器与过滤器,HBase扫描器过滤器
    • Spark Streaming和Flume集成指南V1.4.1,flumev1.4.1
    • hive之实现列转行,hive列转行

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有