Amazon Ion is a richly-typed, self-describing, hierarchical data serialization format offering interchangeable binary and text representations. The text format (a superset of JSON) is easy to read and author, supporting rapid prototyping. The binary representation is efficient to store, transmit, and skip-scan parse. The rich type system provides unambiguous semantics for long-term preservation of business data which can survive multiple generations of software evolution.

Available Libraries: Ion JavaIon CIon PythonIon JavaScript

Related Projects: Ion Schema

Tools: Hive SerDe

Latest News

Ion Hive SerDe 0.1.0 Released
21 January 2019

Apache Hive SerDe (short for serializer/deserializer) for the Ion file format alpha is released.

This new Serializer/Deserializer for Apache Hive supports the Ion binary and text formats, all of the Ion types, and flattening through path extraction. This release is an Alpha release and a complete list of features can be found in the GitHub repository.

GitHub Repository

Ion Java Path Extraction 1.0.0 Released
12 November 2018

Ion Path Extraction API aims to combine the convenience of a DOM API with the speed of a streaming API.

The user can register search paths and callbacks with the extractor that will read the Ion document in the most efficient way looking for the registered paths. When it matches a search path it will invoke the correspondent callback.

GitHub Repository

Visit the News page for more announcements about Amazon Ion.

Ion Text Example

/* Ion supports comments. */
// Here is a struct, which is similar to a JSON object.
  // Field names don't always have to be quoted.
  name: "fido",

  // This is an integer with a user annotation of 'years'.
  age: years::4,

  // This is a timestamp with day precision.
  birthday: 2012-03-01T,

  // Here is a list, which is like a JSON array.
  toys: [
    // These are symbol values, which are like strings,
    // but get encoded as integers in binary.

The Specification gives an overview of the full list of the core data types.

More Information

Ion was built to address rapid development, decoupling, and efficiency challenges faced every day while engineering large-scale, service-oriented architectures. Ion has been addressing these challenges within Amazon for nearly a decade, and we believe others will benefit as well.

To find out more about the Ion format and for guides on using it, check out the Docs page. The Libs page contains links to the officially supported libraries as well as community supported tools. The Help page contains information on how to contribute, how to contact the Ion Team, and answers to the frequently asked questions.