从SQL Server导入Sqoop,将二进制(10)转换为bigint

时间:2015-08-25 14:25:55

标签: sql-server hadoop hive sqoop

我在sql数据库中有一个下面的列,但是,我需要sqoop导入表并导入到hive并获取该表的Max。请帮助转换:

CDC表中的列名__ $ seqval: sql数据库中的数据类型显示为:__ $ seqval(binary(10),NOT NULL) 列的值如下:

0x000001D1000003520003 
0x000001D1000003520003 
0x000001D10000035A0003   
0x000001D1000003630003 
0x000001D1000006FB0003 
0x000001D1000007090003    
0x000001D1000007100003 
0x000001D1000007170003 
0x000001D10000071E0003    
0x000001D100000747002C 
0x000001D100000747002C 
0x000001D100000747002E    
0x000001D100000747002E 
0x000001D1000007470030 
0x000001D1000007470030    
0x000001D1000007850002 
0x000001D1000007850002 
0x000001D1000007AA002C    
0x000001D1000007AA002C

如何转换这些并获取其中的MAX ..在Hive中

1 个答案:

答案 0 :(得分:0)

当您将其从SQL-Server中拉出时,您可以使用:

select convert(bigint, binaryColumnName)

...将把二进制值拉出来作为BigInts。然后,当呈现给Hadoop时,它应该将其视为BigInt。 (我不知道Hadoop,所以不能告诉你如何从中获取MAX。)