UDF 函数

val randomNew = (str :String, n: Int) => {val buffer = ArrayBuffer[Int](-1)var length:Int = 1var index:Int = -1for(a <- str){index = index + 1if (a ==':') {length = length+1buffer +=index}}val routeKey = length <= nrouteKey match {case true => strcase _ => {val index = (new Random).nextInt(length)if(index+n < length){str.slice(buffer(index)+1,buffer(index+n)-1)}else if(index+n ==length){str.slice(buffer(index)+1,str.length)}else{val index2 =n-(length-index)str.slice(buffer(index)+1,str.length)+":"+str.slice(buffer(0),buffer(index2)-1)}}}}hive.udf.register("randomNew", randomNew)

假如有一串以 冒号 : 分割的字符串 val arr:String = “adfa:adfa:adag:asdf:hgfh:fgjgfj:fgjfjk:fjfkfjk”
随机获取三个子串的拼接字符串 randomNew(arr,3) adag:asdf:hgfh

sparkSql 随机打散分配相关推荐

  1. Matlab——离散点的随机区域分配

    Matlab--离散点的随机区域分配 假设待定区域现在有200个离散点,我们随机挑选出10个离散点,并以这10个点为中心画半径为R(任意取)的圆.我们知道这10个圆在没有任何交集的情况下,共有10个区 ...

  2. TensorFlow:随机打散、批训练、预处理、循环训练

    文章目录 一.随机打散 二.批训练 三.预处理 四.循环训练 一.随机打散 通过 Dataset.shuffle(buffer_size)工具可以设置Dataset 对象随机打散数据之间的顺序,防止每 ...

  3. 如何快速随机打散一个数字数组?

    随 机就离不开Math.random() 既然是一个数字数组,写过排序吧,有冒泡排序.sort排序等,都能排序成从小到大或从大到小的数组. 那么暂且看看sort生序排列的写法: var a = [10 ...

  4. 【python实现随机分组 一个公司年终庆典,需要将职员分成三组,现在有8位职员等待小组分配,编写程序实现职员的随机分配。】

    题目:一个公司年终庆典,需要将职员分成三组,现在有8位职员等待小组分配,编写程序实现职员的随机分配. 实现思路:遍历每一个职工,让他们自己随机选择分配到哪一个小组.当然,有特殊情况需要剔除,如果随机分 ...

  5. java--JVM--栈帧--JVM及其优化---逃逸技术(堆栈分配方法)(转载)

    对象逃逸的概念:对象能被其他线程以任何形式访问 栈帧: 局部变量表:保存函数的参数以及局部变量用的,局部变量表中的变量只在当前函数调用中有效,当函数调用结束后,随着函数栈帧的销毁,局部变量表也会随之销 ...

  6. JVM学习笔记之-堆,年轻代与老年代,对象分配过程,Minor GC、Major GC、Full GC,堆内存大小与OOM,堆空间分代,内存分配策略,对象分配内存,小结堆空间,逃逸分析,常用调优工具

    堆的核心概述 概述 一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域.Java堆区在JVM 启动的时候即被创建,其空间大小也就确定了.是JVM管理的最大一块内存空间. 堆内存的大小是可 ...

  7. Kafka分区分配策略(3)——自定义分区分配策略

    接上文: 1.[Kafka分区分配策略(1)--RangeAssignor] 2.[Kafka分区分配策略(2)--RoundRobinAssignor和StickyAssignor] 欢迎支持笔者新 ...

  8. vs 编译器的堆空间不足_原创|面试官:Java对象一定分配在堆上吗?

    最近在看 Java 虚拟机方面的资料,以备工作中的不时之需.首先我先抛出一个我自己想的面试题,然后再引出后面要介绍的知识点如逃逸分析.标量替换.栈上分配等知识点 面试题 Java 对象一定分配在堆上吗 ...

  9. 深入理解JVM之对象分配流程

    Java对象分配流程 栈上分配 参考: https://www.cnblogs.com/BlueStarWei/p/9358757.html (讲的很好) https://blog.csdn.net/ ...

最新文章

  1. mysql数据库多级分类汇总_sql多级分类汇总实现介绍
  2. java 绑定事件_Javascripts事件基础和事件绑定
  3. NKStartup的参数KData
  4. IBM 公开最新 Power 处理器架构
  5. 宝塔linux修改默认编码,宝塔linux面板防护CC设置(示例代码)
  6. 技术沙龙|赋能企业数字化转型,移动云云原生应用架构实践
  7. 迁移到 Centos 7 遇到的一些常见问题
  8. 吴恩达神经网络和深度学习-学习笔记-20-训练/开发/测试集划分
  9. 点石成金:访客至上的网页设计秘笈(原书第2版) 中文PDF版
  10. 计算机应用教程卢湘鸿,计算机应用教程
  11. Pandownload百度网盘不限速下载器PC版|Android版
  12. SpringAOP之动态代理
  13. 华为交换机 查ip冲突_华为交换机发现邻居操作,查看端口和ip
  14. 【OpenGrok代码搜索引擎】一、OpenGrok简介
  15. 从零开始搭建ROS小车(绪论)
  16. 女人四十学计算机有用吗,四十岁的女人,开始学做美容工作,有前途吗
  17. Unity TouchScript大屏
  18. 史上最全!56个JavaScript的「手写」知识点,扫盲啦!
  19. 如何通过omnipeek抓取sniffer log
  20. Java性能优化的5个技巧

热门文章

  1. Quartus (Quartus Prime 18.1)的安装及仿真步骤
  2. 离散数学(一):命题及命题联结词
  3. js实现简单的购物车 有图有代码
  4. 一步一图带你深入理解 Linux 虚拟内存管理
  5. r ridge回归_手把手带你画高大上的lasso回归模型图
  6. 2. 将文件中每一行字符反序
  7. 归一化相关 matlab,matlab – 归一化互相关的基础知识
  8. 7-1 过河 (15分) Java实现
  9. 锂矿降龙十八掌之时乘六龙
  10. 几种字符集与LPTSTR、LPCSTR、LPSTR、LPCTSTR、LPWSTR、LPCWSTR的意义