草庐IT

spark-streaming

全部标签

java - Apache Spark——使用 spark-submit 抛出 NoSuchMethodError

要将Spark应用程序提交到集群,他们的文档说明:Todothis,createanassemblyjar(or“uber”jar)containingyourcodeanditsdependencies.BothsbtandMavenhaveassemblyplugins.Whencreatingassemblyjars,listSparkandHadoopasprovideddependencies;theseneednotbebundledsincetheyareprovidedbytheclustermanageratruntime.--http://spark.apache.

Java8 Stream - 来自 IntStream 的字节 HashSet

我正在尝试创建一个HashSet的bytes1,2,3,...9使用Java8StreamsAPI。我想用IntStream然后将值降级为byte会做的。我正在尝试的变体HashSetnums=IntStream.range(1,10).collect(Collectors.toSet());HashSetnums=IntStream.range(1,10).map(e->((byte)e)).collect(Collectors.toSet());但这些都不起作用。Error:(34,73)java:methodcollectininterfacejava.util.stream.I

Java & Spark : add unique incremental id to dataset

使用Spark和Java,我试图向现有的具有n列的数据集[行]添加一个整数标识列。我使用zipWithUniqueId()或zipWithIndex成功添加了一个id,甚至使用了monotonically_increasing_id()。但没有一个能令人满意。示例:我有一个包含195行的数据集。当我使用这三种方法中的一种时,我得到一些像1584156487或12036这样的ID。另外,这些ID不是连续的。我需要/想要的非常简单:一个Integerid列,其值从1到dataset.count()foreach行,其中id=1后跟id=2,等等。我如何在Java/Spark中做到这一点?

java - Stream 中 "filter then map"和 "map then filter"的性能是否不同?

我想知道什么更快:按字段过滤自定义对象,然后按其字段映射,反之亦然(先映射,然后过滤)。最后,我通常想将映射的字段收集到一些Collection中。比如最简单的Person类:publicclassPerson{Stringuuid;Stringname;StringsecondName;}现在让我们有一个Listpersons.Listfiltered1=persons.stream().filter(p->"NEED_TOY".equals(p.getName())).map(Person::getName).collect(Collectors.toList());//or?Li

java - 如何使用 Java 在 SPARK 中使用映射函数

我尝试在spark中读取一个csv文件,我想拆分以逗号分隔的行,以便我有一个带有二维数组的RDD。我是Spark的新手。我试着这样做:publicclassSimpleApp{publicstaticvoidmain(String[]args)throwsException{Stringmaster="local[2]";StringcsvInput="/home/userName/Downloads/countrylist.csv";StringcsvOutput="/home/userName/Downloads/countrylist";JavaSparkContextsc=ne

java - 如何在 Apache Spark 中为两个具有不同结构的 DataFrame 实现 NOT IN

我在我的Java应用程序中使用ApacheSpark。我有两个DataFrame小号:df1和df2.df1包含Row与email,firstName和lastName.df2包含Row与email.我想创建一个DataFrame:df3包含df1中的所有行,df2中不存在哪个电子邮件.有没有办法用ApacheSpark做到这一点?我试图创建JavaRDD来自df1和df2通过类型转换它们toJavaRDD()和过滤df1包含所有电子邮件,然后使用subtract,但我不知道如何映射新的JavaRDD至ds1得到DataFrame.基本上我需要df1中的所有行谁的邮箱不在df2.Dat

java - Spark 应用程序 - Java.lang.OutOfMemoryError : Java heap space

我用的是SparkStandalone单机,128G内存,32核。以下是我认为与我的问题相关的设置:spark.storage.memoryFraction0.35spark.default.parallelism50spark.sql.shuffle.partitions50我有一个Spark应用程序,其中有一个用于1000个设备的循环。对于每个循环(设备),它都会准备特征向量,然后调用MLLib的k-Means。在循环的第25到30次迭代(处理第25到第30个设备)时,它遇到了“Java.lang.OutOfMemoryError:Java堆空间”的错误。我尝试将memoryFra

java - 在 Java 8 中,如何在不使用 forEach 的情况下从 Stream<int[]> 获取 int 数组

如何转换Stream进入int[]不使用forEach?finalStreamstream=foos.stream().map(foos->insertQuery(contact,create)).map(create::batch).map(Batch::execute);//Batch::executewillreturntheint[] 最佳答案 使用flatMapToIntint[]result=stream.flatMapToInt(Arrays::stream).toArray();

java - 如何使用 Streams 将二维列表转换为一维列表?

我试过这段代码(list是ArrayList>):list.stream().flatMap(Stream::of).collect(Collectors.toList());但它什么也没做;该列表仍然是一个二维列表。如何将此二维列表转换为一维列表? 最佳答案 您仍然收到列表的原因是因为当您申请Stream::of它正在返回现有流的新流。那是你执行Stream::of的时候这就像有{{{1,2}},{{3,4}},{{5,6}}}然后当你执行flatMap就像这样做:{{{1,2}},{{3,4}},{{5,6}}}->flatMa

Java 8 Stream distinct 不起作用

这就是我正在做的:Listscores=Stream.concat(oldEntries.stream(),newEntries.stream()).sorted().distinct().limit(maxSize).collect(Collectors.toList());我期待一个没有任何重复项的排序列表,但有时列表中有重复项。我重写了hashCode和equals方法,我还观察到这些方法每次都返回正确的值。任何人都可以看到我的流有什么问题吗?这是我的equals()和hashCode()它们是由IDEA自动生成的:..privateintuserId;privateintlev