精华内容
下载资源
问答
  • java生成随机序列
    2021-08-03 14:39:48

    前言

    描述:随机生成一段序号,代码如下:

    String s = UUID.randomUUID().toString().replaceAll("-", "");
    String s1 = UUID.randomUUID().toString();
    
    更多相关内容
  • java生成随机序列

    2021-02-28 14:42:37
    ​ 5.takeSample(withReplacement, num, [seed]) 对于一个数据集进行随机抽样,返回一个包含num个随机抽样元素的数组,withReplacement表示是否有放回抽样,参数seed指定生成随机数的种子。 该方法仅在预期结果...

    官方文档上列举共有32种常见算子,包括Transformation的20种操作和Action的12种操作。

    Transformation:

    1.map

    map的输入变换函数应用于RDD中所有元素,而mapPartitions应用于所有分区。区别于mapPartitions主要在于调用粒度不同。如parallelize(1 to 10, 3),map函数执行10次,而mapPartitions函数执行3次。

    2.filter(function)

    过滤操作,满足filter内function函数为true的RDD内所有元素组成一个新的数据集。如:filter(a == 1)。

    3.flatMap(function)

    map是对RDD中元素逐一进行函数操作映射为另外一个RDD,而flatMap操作是将函数应用于RDD之中的每一个元素,将返回的迭代器的所有内容构成新的RDD。而flatMap操作是将函数应用于RDD中每一个元素,将返回的迭代器的所有内容构成RDD。

    flatMap与map区别在于map为“映射”,而flatMap“先映射,后扁平化”,map对每一次(func)都产生一个元素,返回一个对象,而flatMap多一步就是将所有对象合并为一个对象。

    4.mapPartitions(function)

    区于foreachPartition(属于Action,且无返回值),而mapPartitions可获取返回值。与map的区别前面已经提到过了,但由于单独运行于RDD的每个分区上(block),所以在一个类型为T的RDD上运行时,(function)必须是Iterator

    => Iterator

    类型的方法(入参)。

    5.mapPartitionsWithIndex(function) 与mapPartitions类似,但需要提供一个表示分区索引值的整型值作为参数,因此function必须是(int, Iterator

    )=>Iterator

    类型的。

    ​ 6.sample(withReplacement, fraction, seed) 采样操作,用于从样本中取出部分数据。withReplacement是否放回,fraction采样比例,seed用于指定的随机数生成器的种子。(是否放回抽样分true和false,fraction取样比例为(0, 1]。seed种子为整型实数。) ​ 7.union(otherDataSet) 对于源数据集和其他数据集求并集,不去重。 ​ 8.intersection(otherDataSet) 对于源数据集和其他数据集求交集,并去重,且无序返回。 ​ 9.distinct([numTasks]) 返回一个在源数据集去重之后的新数据集,即去重,并局部无序而整体有序返回。 ​ ​ 10.groupByKey([numTasks]) 在一个PairRDD或(k,v)RDD上调用,返回一个(k,Iterable

    )。主要作用是将相同的所有的键值对分组到一个集合序列当中,其顺序是不确定的。groupByKey是把所有的键值对集合都加载到内存中存储计算,若一个键对应值太多,则易导致内存溢出。

    在此,用之前求并集的union方法,将pair1,pair2变为有相同键值的pair3,而后进行groupByKey ​ 11.reduceByKey(function,[numTasks]) 与groupByKey类似,却有不同。如(a,1), (a,2), (b,1), (b,2)。groupByKey产生中间结果为( (a,1), (a,2) ), ( (b,1), (b,2) )。而reduceByKey为(a,3), (b,3)。 reduceByKey主要作用是聚合,groupByKey主要作用是分组。(function对于key值来进行聚合) ​ 12.aggregateByKey(zeroValue)(seqOp, combOp, [numTasks]) 类似reduceByKey,对pairRDD中想用的key值进行聚合操作,使用初始值(seqOp中使用,而combOpenCL中未使用)对应返回值为pairRDD,而区于aggregate(返回值为非RDD) ​ 13.sortByKey([ascending], [numTasks]) 同样是基于pairRDD的,根据key值来进行排序。ascending升序,默认为true,即升序;numTasks 14.join(otherDataSet,[numTasks]) 加入一个RDD,在一个(k,v)和(k,w)类型的dataSet上调用,返回一个(k,(v,w))的pair dataSet。 ​ 15.cogroup(otherDataSet,[numTasks]) 合并两个RDD,生成一个新的RDD。实例中包含两个Iterable值,第一个表示RDD1中相同值,第二个表示RDD2中相同值(key值),这个操作需要通过partitioner进行重新分区,因此需要执行一次shuffle操作。(若两个RDD在此之前进行过shuffle,则不需要) ​ 16.cartesian(otherDataSet) 求笛卡尔乘积。该操作不会执行shuffle操作。 ​ 17.pipe(command,[envVars]) 通过一个shell命令来对RDD各分区进行“管道化”。通过pipe变换将一些shell命令用于Spark中生成的新RDD,如: ​ 18.coalesce(numPartitions) 重新分区,减少RDD中分区的数量到numPartitions。 ​ 19.repartition(numPartitions) repartition是coalesce接口中shuffle为true的简易实现,即Reshuffle RDD并随机分区,使各分区数据量尽可能平衡。若分区之后分区数远大于原分区数,则需要shuffle。 ​ 20.repartitionAndSortWithinPartitions(partitioner) 该方法根据partitioner对RDD进行分区,并且在每个结果分区中按key进行排序。 Action: 1.reduce(function) reduce将RDD中元素两两传递给输入函数,同时产生一个新值,新值与RDD中下一个元素再被传递给输入函数,直到最后只有一个值为止。 ​ 2.collect() 将一个RDD以一个Array数组形式返回其中的所有元素。 ​ 3.count() 返回数据集中元素个数,默认Long类型。 ​ 4.first() 返回数据集的第一个元素(类似于take(1)) ​ 5.takeSample(withReplacement, num, [seed]) 对于一个数据集进行随机抽样,返回一个包含num个随机抽样元素的数组,withReplacement表示是否有放回抽样,参数seed指定生成随机数的种子。 该方法仅在预期结果数组很小的情况下使用,因为所有数据都被加载到driver端的内存中。 ​ 6.take(n) 返回一个包含数据集前n个元素的数组(从0下标到n-1下标的元素),不排序。 ​ 7.takeOrdered(n,[ordering]) 返回RDD中前n个元素,并按默认顺序排序(升序)或者按自定义比较器顺序排序。 ​ 8.saveAsTextFile(path) 将dataSet中元素以文本文件的形式写入本地文件系统或者HDFS等。Spark将对每个元素调用toString方法,将数据元素转换为文本文件中的一行记录。 若将文件保存到本地文件系统,那么只会保存在executor所在机器的本地目录。 ​ 9.saveAsSequenceFile(path)(Java and Scala) 将dataSet中元素以Hadoop SequenceFile的形式写入本地文件系统或者HDFS等。(对pairRDD操作) ​ 10.saveAsObjectFile(path)(Java and Scala) 将数据集中元素以ObjectFile形式写入本地文件系统或者HDFS等。 ​ ​ 11.countByKey() 用于统计RDD[K,V]中每个K的数量,返回具有每个key的计数的(k,int)pairs的hashMap。 ​ 12.foreach(function) 对数据集中每一个元素运行函数function。

    展开全文
  • 有时候会需要将一个ArrayList或者数组中的数字打乱,方便后续使用,比如随机出题、答案选项打乱、连线题打乱、抽奖号码打乱等等,把我自己写的一段代码贴出来分享给大家。
  • java生成随机字母

    千次阅读 2021-03-07 11:14:06
    方法一:public class RandomTest extends TestCase {public void testRandom1() throws Exception {String s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";char[] c = s.toCharArray();...

    方法一:

    public class RandomTest extends TestCase {

    public void testRandom1() throws Exception {

    String s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

    char[] c = s.toCharArray();

    Random random = new Random();

    for( int i = 0; i < 8; i ++) {

    System.out.println(c[random.nextInt(c.length)]);

    }

    }

    }

    方法二:

    public void testRandom2() throws Exception {

    Random random = new Random();

    for( int i = 0; i < 8; i ++) {

    int choice = random.nextInt(2) % 2 == 0 ? 65 : 97; // 取得大写还是小写

    System.out.println((char)(choice + random.nextInt(26)));

    }

    }

    public String randomString(){

    return randomString(50);

    }

    public String randomString(int length){

    if(length<=0){

    length = 10;

    }else if(length >50){

    length = 50;

    }

    StringBuilder s = new StringBuilder(50);

    Random random = new Random();

    for( int i = 0; i < length; i ++) {

    int choice = random.nextInt(2) % 2 == 0 ? 65 : 97; // 取得大写还是小写

    s.append((char)(choice + random.nextInt(26)));

    }

    return s.toString();

    }

    转自:http://www.cnblogs.com/jdonson/archive/2009/12/05/1617562.html

    展开全文
  • java语言编写的产生一个N位随机序列的代码
  • I defined natural for Infinite sequence (Stream) of Natural numbers with Java8 iterator.IntStream natural = IntStream.iterate(0, i -> i + 1);natural.limit(10).forEach(System.out::println);Now, I wa...

    I defined natural for Infinite sequence (Stream) of Natural numbers with Java8 iterator.

    IntStream natural = IntStream.iterate(0, i -> i + 1);

    natural

    .limit(10)

    .forEach(System.out::println);

    Now, I want to define it with Java8 generator.

    static Stream generate(Supplier s)

    What would be the simplest way? Thanks.

    解决方案

    Note: @assylias managed to do it with a lambda using AtomicInteger. He should probably have the accepted answer.

    I'm not sure you can do that with a lambda (because it is stateful), but with a plain Supplier this would work:

    IntSupplier generator = new IntSupplier() {

    int current = 0;

    public int getAsInt() {

    return current++;

    }

    };

    IntStream natural = IntStream.generate(generator);

    However, I highly prefer your current solution, because this is the purpose of iterate(int seed, IntUnaryOperator f) IMHO:

    IntStream natural = IntStream.iterate(0, i -> i + 1);

    展开全文
  • 生成序列号尤其要注意的是高并发时候序列号重复和抢占带来的唯一ID问题:private static int maxvaluefive=99999999;private static int minvaluefive=0;private static AtomicInteger atomic = new AtomicInteger...
  • 构建一个Arduino硬件随机数生成器并从Java使用它
  • 利用Java随机生成随机学生数据

    千次阅读 2021-02-26 09:29:30
    为模拟向数据库中大量插入学生数据(注:此处应该用PreparedStatement、batchUpdate等批处理提高效率)的情形,通过Java随机生成学生数据。一、要生成的学生数据students表设计如下:其中前三项是数据库自动生成的,...
  • 随机数在实际中使用很广泛,比如要随即生成一个固定长度的字符串、数字。或者随即生成一个不定长度的数字、或者进行一个模拟的随机选择等等。Java提供了最基本的工具,可以帮助开发者来实现这一切
  • 【方法一】调用 util 中的 Random 类:定义Random的对象 rand,用 rand.nextInt()生成随机整数或者将 next 后面的Int改为 Double,Float , Long,分别对应了双精度,单精度和长整形)注意只有nextInt( ) 可以带参数,...
  • java生成随机序列号

    2019-09-29 00:12:16
    1.java生成随机序列号 String deleteUuid = UUID.randomUUID().toString(); 引用Jar包 //java-uuid-generator-3.1.3.jar 转载于:https://www.cnblogs.com/tian830937/p/4431927.html
  • java实现随机产生6位数的方法总结

    千次阅读 2021-02-12 22:38:11
    packagecom.yin.test;.../***@authorv_yinyl* @date 2018-11-22 下午4:10:46*@version18.2B* 产生随机六位数的六种方法*/public classTestMath{/**1. 用math.random()实现,比较麻烦的一种方式,思路是:m...
  • 由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在 生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得...
  • 是一个库,可帮助您从伪随机生成器 (PRNG) 及其种子源中获得最佳性能和最佳伪随机性。 有了它,您可以: 将具有改进的速度和随机性测试性能的SplittableRandom包装为java.util.Random以便像这样的方法可以使用它。...
  • 因此,我有以下用于生成应用程序中使用的随机颜色的方法:public final Color generateRandomColour() {return Color.getHSBColor(new Random().nextFloat(),new Random().nextFloat(), new Random().nextFloat());...
  • 本算法利用62个可打印字符,通过随机生成32位UUID,由于UUID都为十六进制,所以将UUID分成8组,每4个为一组,然后通过模62操作,结果作为索引取出字符,这样重复率大大降低。经测试,在生成一千万个数据也没有出现...
  • 我们的主键生成机制是想用系统执行的当前时间点,所以用了System.currentTimeMillis的方法。以为用户在某一个毫秒时间点上不会有两个人同时操作。 今天做批量插入时,发现在一个循环里面,一毫秒是可以做完上述的...
  • 主要为大家详细介绍了Java实现随机验证码具体代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • java 生成随机序列号

    2021-01-13 14:43:07
    maven配置: <dependency> ...java-uuid-generator</artifactId> <version>3.1.3</version> </dependency> String deleteUuid =UUID.randomUUID().toString..
  • Java随机生成字符串的4种方式

    千次阅读 2021-03-23 16:25:38
    Java提供了许多不同的方法来编写随机字符串生成器应用程序,下面介绍几种方式。UUIDUUID是由一组32位数的16进制数字所构成,故UUID理论上的总数为1632=2128,约等于3.4 x 1038。也就是说若每纳秒产生1兆个UUID,要花...
  • 随机生成序列

    2013-03-22 09:25:50
    随机生成序列码的java代码,可以指定字符格式和字符位数
  • JVM/基准的静态加载时随机生成有效载荷; 种子也跨运行共享 从 RAM 中读取数据 将数据写入可重用的输出流(如果可能); 这减少了分配压力 消耗所有输出流; 避免死代码消除优化 未评估的是:RAM 利用率、压缩、有效...
  • Sobol随机序列产生

    热门讨论 2009-06-14 14:12:41
    Sobol随机序列是一种低差异序列。分布均匀性好,耗时少。
  • java生成不重复随机的数字

    千次阅读 2021-03-06 15:58:30
    Java产生随机数1 . 调用java.lang下面Math类中的random()方法产生随机数新建一个文件后缀名为java的文件,文件名取为MyRandom,该类中编写如下的代码:public class MyRandom {public static void main(String[] ...
  • import java.util.Random;public class GetNum {public static int i = 0;public static void main(String[] args) {Random r = new Random();int arr[] = new int[10];int temp = 0;for (; i < 10;) {temp = r.n...
  • 序列化是指将结构化对象转化为字节流以便在网络上传输或者写到磁盘永久存储的过程。下面通过本文给大家分享Java Object Serialization与 Hadoop 序列化,需要的朋友可以参考下
  • Java生成随机整数数组

    千次阅读 2021-03-13 02:50:47
    为了在Java中生成整数的随机数组,我们使用...声明-java.util.Random.nextInt()方法的声明如下-publicintnextInt()让我们看一个程序,用Java生成一个整数随机数组-示例importjava.util.Random;publicclassExam...
  • IDEA自动生成序列化ID

    千次阅读 2021-03-04 09:50:29
    idea是十分智能的Java集成开发环境而我们在用实体类继承java.io.Serializable后,需要设置序列化ID。java序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 89,112
精华内容 35,644
关键字:

java生成随机序列