Apache Avro™ is a data serialization system. Avro provides a compact, fast, binary data format and simple integration with dynamic languages. Avro relies heavily on schemas. When data is stored in a file, the schema is stored with it, so that files may be processed later by any program.
The MATLAB interface for Apache Avro provides for reading and writing of Apache Avro files from within MATLAB. Functionality includes:
* Read and write of local Avro files
* Access to metadata of an Avro file
Viswanath (2021). MATLAB Interface for Apache Avro (https://github.com/mathworks-ref-arch/matlab-avro), GitHub. Retrieved .
I am trying to get this to work on R2018b. I've gone through all the steps and placed the correct matlab-avro-sdk-0.2.jar full path into the javaclasspath.txt.
However when running the example
> data = randn(1e2,5); avrowrite('tmp.avro', data);
I get the following error message:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/MATLAB/R2018b/java/jarext/slf4j/slf4j-log4j12.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/mnt/Work/main/toolbox/AVRO/Software/MATLAB/lib/jar/matlab-avro-sdk-0.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
It appears the two bindings cannot work together. I tried to remove the slf4j-log4j12.jar but this resulted in other problems.
Is there a way to get around this?
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!