Hive获取array数组长度
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hive获取array数组长度相关的知识,希望对你有一定的参考价值。
参考技术A 有一个表 user_cook_recommed(用户推荐菜谱),用sqoop从mysql导入Hive中,表中有一个字段为array形式,导入到hive中变为String类型,如 4321,4532,337(string),现在需要获得这个array的长度由于array传入到hive中变为string,需要先用split方法分解为array,再使用size()函数处理
Array / 获取数组的长度 /和遍历输出
获取数组长度的格式;
数组名称:length;
这将会得到一个int数字,代表数组的长度。
数组一旦创建,程序运行期间,长度不可改变,除非赋值变量才能改变。
public static main (String [ ] args){
int [ ] arrayA = new {10,20,30,40,50,60,66,346,376,24,623,};
int len = arrayA.length;
sout................("arrayA数组的长度是:" + len); //11咯。
int [ ] arrayB = new int [ 3 ];
sout ............................(arrayB.length);//3
arrayB = new int [ 5 ]; //这是新创建一个数组,从而int [ 3 ] 变成 int [ 5 ]。
sout.............................(arrayB.length);//5
}
============================================================
遍历数组; 说的就是对数组当中的每一个元素进行逐一,挨个处理,默认的处理方式就是打印输出。
举例;
public static void main (Sting[ ] args){
int [ ] array = {19,45,35,256,62,24,22,62,245,56};
//原始方式
sout..........................(array[ 0 ]);//19
。
。
。
。
sout .................................(array[ 9 ]);//56
//使用循环,次数其实就是数组的长度。
for(int i = 0 ; i <= 5; i ++){
sout .........................(array[ i ] );
}
//优化后:
for (int i = 0; i <array.length; i++){
sout.....................(array[ i ] );
}
}
以上是关于Hive获取array数组长度的主要内容,如果未能解决你的问题,请参考以下文章