草庐IT

spark-structured-streaming

全部标签

java - 使用 Spring Cloud Stream 将 RabbitMQ 消费者绑定(bind)到现有队列

我使用RabbitMQ网络用户界面创建了一个主题交换TX并绑定(bind)到交换两个队列TX.Q1和TX.Q2,每个都与路由键rk1和rk2相应地绑定(bind),并向交换生成少量消息。现在我想使用SpringCloudStream创建一个消费者,它只会从Q1获取消息。我尝试使用配置:spring.cloud.stream.bindings.input.destination=TXspring.cloud.stream.bindings.input.group=Q1以及消费消息的方法的注解@StreamListner(Sink.INPUT)。结果我可以看到消费者创建了一个同名队列(或绑

java - Spark Driver 内存和 Executor 内存

我是Spark的初学者,我正在运行我的应用程序以从文本文件中读取14KB数据,进行一些转换和操作(收集、收集AsMap)并将数据保存到数据库我在我的macbook上本地运行它,它有16G内存,8个逻辑核心。Java最大堆设置为12G。这是我用来运行应用程序的命令。bin/spark-submit--classcom.myapp.application--masterlocal[*]--executor-memory2G--driver-memory4G/jars/application.jar我收到以下警告2017-01-1316:57:31.579[Executortasklaunc

java - 如何使用 Java 中的结构化流从 Kafka 反序列化记录?

我使用Spark2.1。我正在尝试使用SparkStructuredStreaming从Kafka读取记录,反序列化它们并在之后应用聚合。我有以下代码:SparkSessionspark=SparkSession.builder().appName("Statistics").getOrCreate();Datasetdf=spark.readStream().format("kafka").option("kafka.bootstrap.servers",kafkaUri).option("subscribe","Statistics").option("startingOffset

java - 如何在 java 中修复 Mass Assignment : Insecure Binder Configuration (API Abuse, Structural)

我有一个Controller类,其中包含以下两种查找医生的方法(上下文已更改)。获取MassAssignment:InsecureBinderConfiguration(APIAbuse,Structural)两种方法都出现错误。@Controller@RequestMapping(value="/findDocSearch")publicclassController{@AutowiredprivateIFindDocServicefindDocService;@RequestMapping(value="/byName",method=RequestMethod.GET)@Resp

java - 为什么不推荐基于 AtomicInteger 的 Stream 解决方案?

假设我有这份水果list:-Listf=Arrays.asList("Banana","Apple","Grape","Orange","Kiwi");我需要为每个水果添加一个序列号并打印出来。水果或序列号的顺序无关紧要。所以这是一个有效的输出:-4.Kiwi3.Orange1.Grape2.Apple5.Banana解决方案#1AtomicIntegernumber=newAtomicInteger(0);Stringresult=f.parallelStream().map(i->String.format("%d.%s",number.incrementAndGet(),i)).

java - 使用 Java Stream API 对数组进行部分降序排序

我需要知道如何使用StreamAPI按降序对原始唯一整数数组进行部分排序。比如有{1,2,3,4,5}这样的数组,我想得到{5,4,3,1,2}-首先是3个最大的元素,然后是其余的。甚至可以使用流吗?我检查了文档-有两种方法skip和limit但它们会更改流内容并从数组的开头开始工作。我可以像这样对整个数组进行排序Arrays.stream(arr).boxed().sorted(Collections.reverseOrder()).mapToInt(Integer::intValue).toArray();但是如何使这个排序部分化呢?我说StreamAPI是因为我希望它写得很好。而

java - 如何根据 Java 8 Stream 过滤器的输出计算百分比

我想获取一个作业列表(称为resultStream)并计算完全完成的作业的百分比。publicclassJob{privateDatedate;privateStringsuccess;//Getterandsetterandconstructor.}列表包含以下内容:newJob("TODAY","YES");newJob("TODAY","YES");newJob("YESTERDAY","YES");newJob("TODAY","NO");这是我目前的代码:resultStream.stream().parallel().filter(result->{if("YES".con

Java 8 : First use of stream() or parallelStream() very slow - Usage in practice meaningful?

在过去的几天里,我用Java8中的外部迭代、流和并行流进行了一些测试,并测量了执行时间的持续时间。我还阅读了我必须考虑的预热时间。但是还有一个问题。当我第一次对集合调用方法stream()或parallelStream()时,执行时间比外部迭代长。我已经知道,当我在同一集合上更频繁地调用stream()或parallelStream()并计算执行时间时,parallelStream()确实比外部迭代更快。但是由于在实践中一个集合通常也只迭代一次,所以我只看到使用流或并行流的缺点。所以我的问题是:如果我只迭代一次集合,使用流或parallelStream()是个好主意,还是执行时间总是比

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