草庐IT

spark-structured-streaming

全部标签

java - Apache Spark 还是级联框架?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion我很困惑何时使用Cascading框架以及何时使用ApacheSpark。每个都有哪些合适的用例?感谢任何帮助。

Java 8 等同于 Streams 的 getLineNumber()

对于Java8中的Streams,是否有等同于getLineNumber()的方法?我想在文本文件中搜索一个词并将行号作为整数返回。这是我的搜索方法:result=Files.lines(Paths.get(fileName)).filter(w->w.contains(word)).collect(Collectors.toList()); 最佳答案 我认为没有,因为流的设计目的不是提供对其元素的访问,这与集合不同。一种解决方法是读取列表中的文件,然后使用IntStream生成相应的索引,然后您可以从中应用过滤器:Listlist

java - Spark Web 框架单元测试

我正在使用Spark网络框架并创建一个RESTfulAPI。(http://sparkjava.com因为那里有多个名为“Spark”的东西)我的雇主的标准要求我们编写一系列每天自动运行一次的单元测试,以确认应用程序仍在运行。Spark很容易使用像Postman这样的工具来测试自己,但我还没有找到任何用Spark编写的JUnit测试的好例子,甚至是HTTP请求以编程方式使用它。有人做过吗?可能吗? 最佳答案 我们开发了一个小型库,可促进SparkController/端点的单元测试。Github此外,1.1.3版本发布在MavenC

java - 如何使用 Spark Java 返回静态 html 页面?

一个带有spark的HelloWorld:get(newRoute("/hello"){@OverridepublicObjecthandle(Requestrequest,Responseresponse){response.type("text/html");return"HelloSparkMVCFramework!";}});我怎样才能返回静态文件index.html呢?注意事项:我需要这个index.html放在jar里本着sparkjava的简单精神,我想尽可能避免通过模板,这对于静态页面来说太过分了。 最佳答案 我知道

Java、Spark 和 Cassandra java.lang.ClassCastException : com. datastax.driver.core.DefaultResultSetFuture 无法转换到阴影

我在尝试将数据写入我的Cassandra数据库时遇到错误。我在这里得到了什么:1)词典.javapackagecom.chatSparkConnactionTest;importjava.io.Serializable;publicclassDictionaryimplementsSerializable{privateStringvalue_id;privateStringd_name;privateStringd_value;publicDictionary(){}publicDictionary(Stringvalue_id,Stringd_name,Stringd_value)

java - Stream.count() 是否保证访问每个元素?

换句话说,下一行是否保证打印num行?intnum=list.stream().peek(System.out::println).count();这个问题是由https://stackoverflow.com/a/41346586/2513200的评论中的讨论引发的我依稀记得有一次讨论说避免迭代的优化可能是合法的,但在快速搜索期间没有找到任何结论。JavaDocsforStream.count包含此语句:Thisisaspecialcaseofareductionandisequivalentto:returnmapToLong(e->1L).sum();但我不确定如果流可以以某种方

【Spark系列1】DAG中Stage和Task的划分全流程

一、整体流程每个Aciton操作会创建一个JOB,JOB会提交给DAGScheduler,DAGScheduler根据RDD依赖的关系划分为多个Stage,每个Stage又会创建多个TaskSet,每个TaskSet包含多个Task,这个Task就是每个分区的并行计算的任务。DAGScheduler将TaskSet按照顺序提交给TaskScheduler,TaskScheduler将每一个任务去找SchedulerBackend申请执行所需要的资源,获取到资源后,SchedulerBackend将这些Task提交给Executor,Executor负责将这些任务运行起来。二、JOB提交2.1、

(超详细)Spark on Yarn安装配置

1,前期准备使用root用户完成相关配置,已安装配置Hadoop及前置环境2,spark上传解压到master服务器3,修改环境变量 /etc/profile末尾添加下面代码exportSPARK_HOME=.../spark-3.1.1-bin-hadoop3.2(注意:需要替换成你自己得路径)exportPATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin4,环境变量生效source/etc/profile5,运行spark-submit--version显示如下6,修改saprk-env.sh文件  在.../spark-3.1.1-bin-hadoop

Java 8 stream.collect( ... groupingBy ( ... mapping( ... reducing ))) 减少 BinaryOperator 的使用

我尝试了一个使用groupingBy、mapping和reducing的解决方案以下问题:Elegantlycreatemapwithobjectfieldsaskey/valuefromobjectstreaminJava8.总结一下目标是得到一个以年龄为key,以一个人的爱好为Set的map。我想出的解决方案之一(不是很好,但这不是重点)有一个奇怪的行为。使用以下列表作为输入:ListpersonList=Arrays.asList(newPerson(/*name*/"A",/*age*/23,/*hobbies*/asList("a")),newPerson("BC",24,a

java - Stream.reduce(BinaryOperator<T> accumulator) 如何初始化?

以下代码无需初始化reduce操作即可完美运行。intsum=Stream.of(2,3).reduce((Integera,Integerb)->a+b).get();//sum=5intsum=Stream.of(2,3).reduce((Integera,Integerb)->a*b).get();//sum=6它如何知道第一个累加器是+以便它应该初始化为一个新的sum=0,而第二个累加器是*以便它应该初始化为一个新的sum=1吗? 最佳答案 1参数reduce不以标识值(0或1)开头。它仅对流中的值进行操作。如果您查看jav