我想知道我是否可以使用Confluent Schema registry来生成(然后将其发送给kafka)无模式的avro记录?如果是,请有人分享一些资源?我在Confluent网站和Google上找不到任何例子。
我有一个简单分隔的文件,我有一个单独的模式,目前我正在使用Avro通用记录模式来序列化Avro记录并通过Kafka发送它。这样,模式仍然附加了记录,这使得它更笨重。我的逻辑是,如果在从Kafka发送记录时删除模式,我将能够获得更高的吞吐量。
您可以在cmd的以下命令的帮助下首次注册您的avro模式
curl -X POST -i -H "Content-Type: application/vnd.schemaregistry.v1+json" \
--data '{"schema": "{\"type\": \"string\"}"}' \
http://localhost:8081/subjects/topic
您可以使用以下命令查看主题的所有版本
curl -X GET -i http://localhost:8081/subjects/topic/versions
要从ConFluent Schema注册表中存在的所有版本中查看版本1的完整Acro架构,请使用下面的命令,将以json格式显示架构
curl -X GET -i http://localhost:8081/subjects/topica/versions/1
Avro模式注册是Kafka生产者的任务
在confluent schema registry中拥有模式后,您只需要将avro通用记录发布到特定的Kafka主题,在我们的示例中,它是“主题”
Kafka使用者:使用以下代码获取特定Kafka主题的最新模式
val schemaReg = new CachedSchemaRegistryClient(kafkaAvroSchemaRegistryUrl, 100)
val schemaMeta = schemaReg.getLatestSchemaMetadata(kafkaTopic + "-value")
val schema = schemaMeta.getSchema
val schema =new Schema.Parser().parse(schema)
以上将用于获取模式,然后我们可以使用confluent来解码来自Kafka主题的记录。
合流模式注册表将发送序列化的Avro消息,消息中不包含整个Avro模式。我认为这就是您所说的“无模式”消息的含义。
合流模式注册表将存储Avro模式,并且只有一个简短的索引id包含在有线消息中。
此处提供了完整的文档,包括测试融合模式注册表的快速入门指南
http://docs.confluent.io/current/schema-registry/docs/index.html
我意识到这个问题有点复杂,但我本质上想解析一个ANTLR4语法(一个实际的.g4文件),然后根据语法生成文档和其他工件(不是语法实例)。 例如,考虑包含以下规则的示例Java语法: 我希望能够解析Java。g4文件并生成说明“编译单元包含可选的packageDeclaration、0个或多个importDeclarations和0个或多个typeDeclarations”的文档。或者,我可能希望生
有没有办法从Apache spark生成无模式的avro?我可以看到一种使用apache avro库通过Java/Scala和融合avro生成它的方法。当我用下面的方式从Spark编写Avro时,它用模式创建了Avro。我想在没有模式的情况下创建,以减少最终数据集的大小。
问题内容: 我正在开发一个应用程序,当某个动作发生时,该应用程序会弹出一个JOptionPane。我只是想知道是否有可能当JOptionPane弹出时如何继续使用后台应用程序。当前,当弹出JOptionPane时,除非关闭JOptionPane,否则我无能为力。 编辑 感谢您的答复和信息。认为不适当地将此功能排除在应用程序之外,因为它看起来可能比不必要的麻烦。 问题答案: 该文档明确指出,通过sh
我有一个JSON文件。我正在寻找任何有助于根据该JSON文件生成AVRO模式的程序/工具。我不关心数据类型。只要AVRO模式结构是基于JSON生成的,它都可以是字符串。 目标是,我试图只使用json文件创建一个avro文件。为此,我需要avro模式。 所以,如果我有一个avro模式,使用avro工具,我将能够通过提供avro模式和JSON文件作为输入来生成avro文件。 任何进一步的帮助/建议将不
我的问题很简单,但似乎我在网上找不到答案,因为dexGuard没有试用期,我不能自己测试。 我可以在Android Studio中生成一个使用dexguard模糊/加密的非智能apk。我被告知这是不可能的,因为签名是在混淆/加密过程中使用的,但我觉得我遗漏了什么。 我想知道我是否可以获得相同的结果,我获得的"汇编发布"gradle任务启用proGuard,但使用dexGuard代替更好的保护。 谢
问题内容: 我有一个.dacpac文件,MSBuild正在调用该文件,并将其发布到QA数据库进行测试。此发布失败,我从他们那里找回来的错误是一条通用的“发生错误”消息。我希望我可以从dacpac生成部署脚本,并逐步浏览该脚本以查看问题发生的位置,并希望教他们如何执行此操作。 有什么方法可以将dacpac指向特定的数据库,并使其生成用于更新数据库的sql,而无需实际发布到数据库? 问题答案: 您可以