< Return to Video

What is Jaql?

  • 0:11 - 0:16
    Jaql is a loosely typed functional language,
    with lazy evaluation. It's part of BigInsights,
  • 0:16 - 0:20
    IBM's Hadoop based Big Data platform.
  • 0:20 - 0:25
    The initial inspiration for Jaql was a JSON
    Query Language that provided query processing
  • 0:25 - 0:30
    for semi-structured data, particularly nested
    data represented using the Jaql Data Model
  • 0:30 - 0:33
    or JDM
  • 0:33 - 0:39
    The JDM is a superset of JSON, a standard
    data model, that is similar to XML but much
  • 0:39 - 0:41
    easier to work with.
  • 0:41 - 0:47
    Jaql provides a complete solution environment
    and integration point for all the data storage,
  • 0:47 - 0:54
    functions and capabilities of BigInsights;
    including flexible access to data and analytics.
  • 0:54 - 1:00
    Jaql is the functional language that glues
    it all together.
  • 1:00 - 1:06
    It also provides ways to reach out to external
    data and services such as relational databases,
  • 1:06 - 1:11
    indexing services, text analytics, machine
    learning and so on.
  • 1:11 - 1:16
    Jaql provides an elegant programming model
    for developing complex and reusable queries
  • 1:16 - 1:22
    and transformations against JSON data structures;
    even very deeply nested data structures.
  • 1:22 - 1:29
    As with SQL, Jaql is a declarative query language
    so you focus on what you want to achieve,
  • 1:29 - 1:31
    not how it's done.
  • 1:31 - 1:38
    Under the hood, Jaql automatically exploits
    the massive parallelism of MapReduce. You
  • 1:38 - 1:42
    don't have to worry about the complexities
    of MapReduce programming.
  • 1:42 - 1:49
    Jaql is an extensible language. It provides
    native functions and modules, that allow you
  • 1:49 - 1:54
    to build up packages of re-usable logic that
    can be shared throughout your environment.
  • 1:54 - 2:00
    So, when would you choose Jaql instead of
    another language?
  • 2:00 - 2:07
    1. Jaql is a good choice when your data is
    deeply nested, representing complex relationships.
  • 2:08 - 2:15
    Jaql can work with arbitrarily nested data
    and can even handle data that varies in structure
  • 2:15 - 2:17
    and content from record to record.
  • 2:17 - 2:23
    2. Jaql is a good choice when you need to
    combine programming models because it offers
  • 2:23 - 2:30
    both the core Jaql syntax and you can embed
    SQL within your Jaql – that's like combining
  • 2:30 - 2:33
    Hive and Pig together into one language
  • 2:33 - 2:40
    3. Jaql is a good choice when you need a modular
    language that lets you write native functions.
  • 2:40 - 2:46
    You can parameterize and encapsulate any functionality
    of the language. and then package those functions
  • 2:46 - 2:51
    into reusable modules to be shared across
    all of your applications.
  • 2:51 - 2:58
    4. Jaql is also a good choice when you need
    a full programming language with both flow-control
  • 2:59 - 3:04
    and native functions and modules. You can
    develop full programs from the ground up using
  • 3:04 - 3:09
    JAQL without requiring the use of another
    programming language to orchestrate your logic,
  • 3:09 - 3:16
    which is particularly important for data flows.
Title:
What is Jaql?
Description:

more » « less
Duration:
03:24
Amara Bot edited English subtitles for What is Jaql?

English subtitles

Revisions