草庐IT

spark-structured-streaming

全部标签

java - 为什么 Postgres Replication Stream 在单独的函数中使用时不起作用?

我正在研究postgres复制流API。在处理它时遇到了异常行为。当我使用复制槽在主block内编写整个代码时,一切正常。publicclassServerimplementsConfig{publicstaticvoidmain(String[]args){Propertiesprop=newProperties();prop.load(newFileInputStream(System.getProperty("prop")));Stringuser=prop.getProperty("user");Stringpassword=prop.getProperty("password

java - Spark Streaming 历史状态

我正在构建用于检测欺诈ATM卡交易的实时处理。为了有效地检测欺诈,逻辑需要卡的最后交易日期,每天(或最近24小时)的交易金额总和其中一个用例是,如果在该国家/地区的最后一次交易超过30天后在本国境外进行的卡交易,则发送可能存在欺诈的警报因此尝试将Spark流式处理视为一种解决方案。为了实现这一点(可能我缺少关于函数式编程的想法)下面是我的伪代码stream=ssc.receiverStream()//inputreceivers1=stream.mapToPair()//createskeywithcardandtransactiondateasvalues2=stream.reduc

java - 在 Spark 中使用 Function 实现的序列化问题

我无法理解Java中的Spark函数实现。Thedocumentation给出了三种在map和reduce中使用函数的方法:通过lambda通过实现Function和Function2的内联类通过实现Function和Function2的内部类问题是我无法使2.和3.工作。例如,这段代码:publicintcountInline(Stringpath){Stringmaster="local";SparkConfconf=newSparkConf().setAppName("charCounterInLine").setMaster(master);JavaSparkContextsc

java - Spark 连接器错误 : WARN NettyUtil: Found Netty's native epoll transport, 但未在基于 linux 的操作系统上运行。改用 NIO

这是我的规范:Cassandra版本:3.0.0操作系统:MacOSXYosemite10.10.5Spark版本:1.4.1上下文:我在Cassandra中创建了一个键空间“movies”和一个表“movieinfo”。我已经按照post的指导安装并组装了一个jar文件。我编写了一个小脚本(如下)来测试我的连接:scala>sc.stopscala>importcom.datastax.spark.connector._importcom.datastax.spark.connector._scala>importorg.apache.spark.SparkConfimportorg

java - 为什么我得到 java.io.IOException : Stream closed?

我正在尝试下载一个zip文件,但我收到了一个流关闭异常。当我使用swinggui时,它会出现此错误,但如果我使用控制台,则没有问题。为什么我会得到这个异常(exception)?我该如何解决?这是我的代码:URLConnectionconn=url.openConnection();InputStreamin=conn.getInputStream();FileOutputStreamout=newFileOutputStream(destination.getPath());byte[]b=newbyte[1024];intcount;while((count=in.read(b))

java - 在 Spark 中排序时出现 NotSerializableException

我正在尝试编写一个简单的流处理Spark作业,它将获取消息列表(JSON格式),每条消息属于一个用户,计算每个用户的消息并打印前十名用户。但是,当我定义Comparator>来对减少的计数进行排序时,整个事情都失败了,并抛出了java.io.NotSerializableException。我对Spark的Maven依赖:org.apache.sparkspark-core_2.9.30.8.0-incubating我正在使用的Java代码:publicstaticvoidmain(String[]args){JavaSparkContextsc=newJavaSparkContext

java - Spark SQL 性能

我的代码算法如下第一步。获取一个hbase实体数据到hBaseRDDJavaPairRDDhBaseRDD=jsc.newAPIHadoopRDD(hbase_conf,TableInputFormat.class,ImmutableBytesWritable.class,Result.class);第二步。将hBaseRDD转换为rowPairRDD//intherowPairRDDthekeyishbase'srowkey,TheRowisthehbase'sRowdataJavaPairRDDrowPairRDD=hBaseRDD.mapToPair(***);dataRDD.r

java - 使用 Java stream API 像 SQL GROUP BY 一样汇总数据

使用SQL,我可以编写以下代码来汇总数据:SELECTsum(f1),sum(f2),f3,f4FROMTABLEXGROUPBYf3,f4这将返回一个列表,每行有4个值:sum1、sum2、v3、v4例如:这是表中的内容:1,2,a,b1,2,a,b2,2,c,d2,2,c,d3,4,c,d结果将是:2,4,a,b7,8,c,d现在假设我的数据不是数据库表,而是Java对象列表中的变量f1、f2、f3、f4。JavastreamAPI中有没有函数可以根据f3、f4来汇总这个列表? 最佳答案 仅使用JDK的StreamAPI执行此操

java - 在stream中查找对应于post-map minimum的pre-map元素

我经常发现自己在做这样的事情:list.stream().min(newComparator(){@Overridepublicintcompare(Ea,Eb){returnDouble.compare(f(a),f(b));}})其中f是计算密集型函数。这需要对f的计算次数是实际需要的两倍。我更愿意list.stream().mapToDouble(f).min()但是后来不知道怎么得到这个最小值对应的原始元素。一个丑陋的解决方法是classWithF{privatefinalEe;privatefinaldoublefe;WithF(Ee,doublefe){this.e=e;t

java - Java 8 Streams 中副作用的危险是什么?

我试图理解我在Streams文档中发现的警告。我已经养成了使用forEach()作为通用迭代器的习惯。这导致我编写了这种类型的代码:publicclassFooCache{privatestaticMapsortOrderCache=newConcurrentHashMap();privatestaticMapcodeNameCache=newConcurrentHashMap();publicstaticvoidpopulateCache(){ListmyThings=getThings();myThings.forEach(thing->{sortOrderCache.put(th