hive中将string数据转为bigint的操作_MsSql

来源:脚本之家  责任编辑:小易  

# 添加2113jar包5261 hive> add jar /home/heyuan.lhy/develop/wanke_http_test/hive-json-serde-0.2.jar; hive> # 创建4102hive表1653 CREATE TABLE test_json ( id BIGINT, text STRING, ) ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.JsonSerde.本回答被提问者和网友采纳www.zgxue.com防采集请勿采集本网。

使用 CAST 函数将 STRING 转为 BIGINT:

SELECT CAST('00321' AS BIGINT) FROM table;

As a BIGINT it will show on the screen and in delimited text files as 321.

参考:Hive - Converting a string to bigint

补充知识:hive中bigint和varchar字段做关联,关联数据错误的解决方法

把bigint和varchar都隐式转换成String类型的就可以关联出正确的结果了

cast(t1.PARTY_NUM as string)=cast(t12.customerId as string)

以上这篇hive中将string数据转为bigint的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持真格学网。 您可能感兴趣的文章:mysql中int、bigint、smallint 和 tinyint的区别详细介绍Java的long和bigint长度对比详解

原表src:hive> desc src;OKkeystringvaluestringTime taken: 0.148 secondshive> select * from src;OK238val_238Time taken: 0.107 seconds建一2113个新的表create table src111(key bigint, value bigint); insert数据到src111表中 insert into table src111 select * from src; src的两个5261字段都是string,4102src111的两个表都是bigint,hive会做自动转1653换,通过UDFToLong这个udf自动把string转换成bigint,但是value值val_238无法转换成long 所以src111的值是:hive> select * from src111; OK2380Time taken: 0.107 secondsUDFToLong在做类型转换时,如果string无法转换成long会得到NumberFormatException异常,但是这个异常没有被抛出。。。} catch (NumberFormatException e) { // MySQL returns 0 if the string is not a well-formed numeric value. // return LongWritable.valueOf(0); // But we decided to return NULL instead, which is more conservative. return null;},sqlser有个5261函数4102CAST (expression AS data_type)declare @1653i bigint=2000000000000declare @str nvarchar(50)set @str= cast((select @i) as nvarchar(50))print @str本回答被网友采纳,cast(col as varchar),原表src:hive> desc src;OKkey2113stringvaluestringTime taken: 0.148 secondshive> select * from src;OK238val_238Time taken: 0.107 seconds建一个新的表create table src111(key bigint, value bigint); insert数据到src111表中 insert into table src111 select * from src; src的两个5261字段都是4102string,src111的两个表都是bigint,hive会做自动1653转换,通过UDFToLong这个udf自动把string转换成bigint,但是value值val_238无法转换成long 所以src111的值是:hive> select * from src111; OK2380Time taken: 0.107 secondsUDFToLong在做类型转换时,如果string无法转换成long会得到NumberFormatException异常,但是这个异常没有被抛出。。。} catch (NumberFormatException e) {// MySQL returns 0 if the string is not a well-formed numeric value.// return LongWritable.valueOf(0);// But we decided to return NULL instead, which is more conservative.return null;}【TSD。M】内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • sql 合并多行记录的方法总汇
  • 海量数据库查询语句
  • linq to sql 插入数据时的一个问题
  • sql sever查询语句大全集锦
  • 获取mssql 表结构中字段的备注、主键等信息的sql
  • 一句sql把纵向表转为横向表,并分别分组求平均和总平均值
  • sql语句导入导出大全
  • 详解sql死锁检测的方法
  • 15个初学者必看的基础sql查询语句
  • sql语句执行顺序详解
  • 数据库中bigint怎么转换为string
  • hive bigint怎么表示
  • 数据库中bigint怎么转换为string
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess数据库文摘数据库其它首页mssqlmysql中int、bigint、smallint 和 tinyint的区别详细介绍java的long和bigint长度对比详解sql 合并多行记录的方法总汇海量数据库查询语句linq to sql 插入数据时的一个问题sql sever查询语句大全集锦获取mssql 表结构中字段的备注、主键等信息的sql一句sql把纵向表转为横向表,并分别分组求平均和总平均值sql语句导入导出大全详解sql死锁检测的方法15个初学者必看的基础sql查询语句sql语句执行顺序详解sql server 2012 安装图解教程(附sql server数据库入门学习总结microsoft sql server 2012 数据sql重复记录查询的几种方法win7系统安装sqlserver2000的详细sqlserver中distinct的用法(不重sql server错误代码大全及解释(sql-order by 多字段排序(升序、sql将一个表中的数据插入到另一个用sql语句添加删除修改字段、一些sql server中减小log文件尺寸的方法分享sql脚本查询数据库表,数据,结构,约束等操sqlserver 字符串分拆 语句使用ssis创建同步数据库数据任务的方法sql server 数据类型详解补充2三种实现方法实现数据表中遍历寻找子节点验证sql保留字sql存储过程获取汉字拼音头字母函数sqlserver中向表中插入多行数据的insert语使用sqlserver存储过程sp_send_dbmail发送
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved