Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无需在Scala中创建类即可将二进制Thrift转换为JSON_Json_Scala_Apache Spark_Apache Kafka_Thrift - Fatal编程技术网

无需在Scala中创建类即可将二进制Thrift转换为JSON

无需在Scala中创建类即可将二进制Thrift转换为JSON,json,scala,apache-spark,apache-kafka,thrift,Json,Scala,Apache Spark,Apache Kafka,Thrift,我想在Scala中这样做: 我有一个信息系统,卡夫卡是其中的入口点。数据以二进制格式到达,并以卡夫卡编码。从那里我收集它与火花的工作。在这里,我想将消息反序列化为JSON字符串。 现在据我所知,我可以节俭地生成Scala类,从消息中生成Scala对象,然后将它们转换为JSON。既然我真的不关心如何使用类,那么有没有办法通过提供旧文件将二进制编码的数据直接转换为JSON? 或者在运行时创建类?关键是,我希望为新的消息类型保持系统的动态性,从而避免依赖于手动创建的Scala类 我希望这种方式是有意义

我想在Scala中这样做:

我有一个信息系统,卡夫卡是其中的入口点。数据以二进制格式到达,并以卡夫卡编码。从那里我收集它与火花的工作。在这里,我想将消息反序列化为JSON字符串。 现在据我所知,我可以节俭地生成Scala类,从消息中生成Scala对象,然后将它们转换为JSON。既然我真的不关心如何使用类,那么有没有办法通过提供旧文件将二进制编码的数据直接转换为JSON? 或者在运行时创建类?关键是,我希望为新的消息类型保持系统的动态性,从而避免依赖于手动创建的Scala类


我希望这种方式是有意义的,如果你有任何进一步的问题,请继续:)

节俭并不是真正用于这样的动态使用。换个角度考虑。 如果您必须使用Thrift执行此操作,您可以“只是”将Thrift Java或Scala编译器作为外部进程运行,编译生成的文件(以及您自己生成的粘合代码,如果有的话)(请分别参阅或,或仅通过Google获得更多链接),使用
URLClassLoader
加载类,并使用反射访问它们