Name: RADAR-Schemas
Owner: RADAR-CNS
Owner: RADAR-CNS
Description: Catalog of the schemas for RADAR-CNS
Created: 2016-09-27 16:28:01.0
Updated: 2017-10-30 09:11:43.0
Pushed: 2018-02-05 16:14:28.0
Size: 875
Language: Java
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
Avro schemas used in RADAR-CNS. The schemas are organized as follows:
commons
directory contains all schemas used inside Kafka and data fed into Kafka.active
subdirectory, add schemas for active data collection, like questionnaires or assignments.catalogue
subdirectory, modify schemas for cataloguing data types.kafka
subdirectory, add schemas used throughtout Kafka, like record keys.monitor
subdirectory, add schemas for monitoring applications that gather data.passive
subdirectory, add schemas for passive data collection, like wearables.stream
subdirectory, add schemas used in Kafka Streams.restapi
directory contains schemas used to get data from the RADAR-CNS REST API.specifications
directory contains specifications of what data types are collected through which devices.java-sdk
folder, see installation instructions there. They are automatically generated from the Avro schemas using the Avro 1.8.2 specification.The Avro schemas should follow the Google JSON style guide.
In addition, schemas in the commons
directory should follow the following guidelines:
value
at the end of a field name.doc
property) to each schema, each field, and each enum. The documentation should show in text what is being measured, how, and what units or ranges are applicable. Abbreviations and acronyms in the documentation should be written out. Each doc property should start with a capital and end with a period.org.radarcns.passive.<vendor>
fully in lowercase, without any numbers, uppercase letters or symbols (except .
). For the Empatica E4, the vendor is Empatica, so the namespace is org.radarcns.passive.empatica
. For generic types, like a phone, Android Wear device or Android application, the namespace could just be org.radarcns.passive.phone
, org.radarcns.passive.wear
, or org.radarcns.monitor.application
.EmpaticaE4Temperature
).UNKNOWN
symbol as default value["null", <intended type>]
and set the default value to null
.Avro schemas are automatically validated against RADAR-CNS guide lines while building. For more details, check catalog validator.
The RADAR schema tools can be tested locally using Docker. To run the tools, first install Docker. Then run
er-compose build
er-compose up -d zookeeper-1 kafka-1 schema-registry-1
Now you can run tools commands with
age
er-compose run --rm tools
lidation
er-compose run --rm tools radar-schemas-tools validate
st topic information
er-compose run --rm tools radar-schemas-tools list
gister schemas with the schema registry
er-compose run --rm tools radar-schemas-tools register http://schema-registry:8081
eate topics with zookeeper
er-compose run --rm tools radar-schemas-tools create zookeeper-1:2181
n source-catalogue webservice
er-compose run --rm tools radar-schemas-tools serve -p <portnumber>