草庐IT

持久化Spark

全部标签

java - 在 Java 中寻找简单的持久消息缓冲区

我正在寻找一个简单的持久缓冲区作为Java应用程序中JSON消息的临时存储。内存使用量应该相对恒定,而不取决于缓冲区中的消息数量。如果能够重播过去某个时间点的消息,那就太好了。删除旧消息应该是有效的。需要能够处理1m消息/小时。目前,我的应用程序使用本地RabbitMQ代理将消息铲到远程RabbitMQ代理。当远程代理关闭或不接受消息时,本地RabbitMQ代理的内存使用量随着队列长度的增加而增加,最终它停止接受消息。我想将其换成基于本地磁盘的缓冲区和一个将消息复制到远程RabbitMQ代理的线程。有人有什么想法吗?我看过Kafka,但它对我的用例来说似乎有点矫枉过正。MongoDB是

java - Apache Spark Lambda 表达式 - 序列化问题

我尝试在spark任务中使用lambda表达式,它抛出“java.lang.IllegalArgumentException:无效的lambda反序列化”异常。当代码类似于"transform(pRDD->pRDD.map(t->t._2))"时会抛出此异常。代码片段如下。JavaPairDStreamaggregate=pairRDD.reduceByKey((x,y)->x+y);JavaDStreamcon=aggregate.transform((Function,JavaRDD>)pRDD->pRDD.map((Function,Integer>)t->t._2));Java

java - 如何在 Hibernate 中从非实体子类中持久化实体

我正在尝试将实体扩展为用于填充父类(superclass)字段的非实体。问题是,当我尝试保存它时,Hibernate会抛出MappingException。这是因为即使我将ReportParser转换为Report,运行时实例仍然是ReportParser,因此Hibernate会提示它是一个未知实体。@Entity@Table(name="TB_Reports")publicclassReport{Longid;Stringname;Stringvalue;@Id@GeneratedValue@Column(name="cReportID")publicLonggetId(){ret

java - JPA/Hibernate 可以与其他持久性框架(如 jOOQ)结合使用吗

我们有一个域,其中90%的类都非常简单,可以轻松地在数据库中进行1:1映射。我很高兴Hibernate与spring-data-jpa的结合为这些类消除了大量的琐事。然而,域的其余部分具有挑战性,出于多种原因,我不想将其直接映射到数据库表。我做了实验来引入由Hibernate管理的中间bean并将这些bean映射到我的域,当所有关系都从具有挑战性的部分到容易的部分时,这很有效。当我有由Hibernate管理的“简单”类引用映射到自定义Java代码中的“具有挑战性的”类而不是直接由Hibernate管理时,这种方法失败了。这是当我意识到我无法找到自定义Hibernate和插入某种Obje

java - Java注解顺序是否持久?

Java注释顺序在运行时是否持久?我检查了OpenJDK1.7.0_21-它保留了注释顺序。我可以期望所有JavaVM上的持久性吗? 最佳答案 取决于你所说的“持久”是什么意思。我认为您可能在问题中暗示了一些东西,所以这里有一些问答:注解顺序是否一成不变?是的,它以不变的顺序写入.class文件。.class文件中的注释顺序是否反射(reflect)了源代码中的注释顺序?是的。如果您编译代码...@Column(length=256)@NotBlankConstraint(message="Theapplicationtitlemu

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 - 在 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