我愿意学习Scheme.我想坚持使用R7RS,因为它是最后一个标准.然而,似乎在Scheme当前实现上存在很多碎片,并且大多数碎片停留在R5RS或R6RS的一部分.
我发现的唯一一个支持R7RS的部分是Kawa,但由于它在JVM上运行,它不支持尾调用优化,这是针对该实现的一个强点.
Scheme计划世界是否真的那么支离破碎,甚至还没有R7RS完全实现呢?我问,因为如果没有,我一赶上,我就打算建一个; 但是,如果存在,最好不要重新发明轮子并为某种实施做出贡献.
如果您有信息,请不仅要回答姓名,还要提供适当的进一步信息(实施的官方网站,甚至邮件组的摘录都可以作为参考).
顺便说一句,我不是在考虑Racket,因为它不再是Scheme了.
我有一个最早的活动要阅读的Kafka主题。
我要做的是从某个主题(从时间上绝对最早的事件)到某个日期的事件获取所有数据。
每个事件的结构都有一个称为的字段dateCliente
,我将其用作过滤事件的阈值。到目前为止,我已经成功完成了读写操作。我正在写一个临时拼花文件,用作Hive表的分区。这样做很正常,但是,即使我在auto.offset.reset
参数中指定的最早,也不会从头开始读取数据。
每当我运行代码时,我都会从该日期开始获取所有事件。每次我再次执行该代码时,它都会在我上次执行代码中读到的最后一个事件之后继续从Kafka事件中读取数据。
我用于配置Kafka Consumer和订阅主题的代码如下:
// Configurations for kafka consumer
val conf = ConfigFactory.parseResources("properties.conf")
val brokersip = conf.getString("enrichment.brokers.value")
val topics_in = conf.getString("enrichment.topics_in.value")
//
// Crea la sesion de Spark
val spark = SparkSession
.builder()
.master("yarn")
.appName("XY")
.getOrCreate()
spark.sparkContext.setLogLevel("ERROR")
import spark.implicits._
val properties = new Properties
properties.put("key.deserializer", classOf[StringDeserializer])
properties.put("value.deserializer", classOf[StringDeserializer])
properties.put("bootstrap.servers", brokersip)
properties.put("auto.offset.reset", "earliest")
properties.put("group.id", "XY")
val consumer = new KafkaConsumer[String, String](properties)
consumer.subscribe( util.Collections.singletonList("geoevents") )
Run Code Online (Sandbox Code Playgroud)
但是,每当我从命令行创建使用者以读取主题中的数据时,我都会获得前几天的所有事件。我运行的命令行命令是:
kafka-console-consumer --new-consumer --topic geoevents --from-beginning --bootstrap-server xx.yy.zz.xx
Run Code Online (Sandbox Code Playgroud)
为什么任何想法是我的代码行为就像是和无视我"earliest"
的 …