SQL查询为多数据引擎提供统一的访问接口。通过SQL查询功能,您可以对表格存储中数据进行复杂的查询和高效的分析。SQL查询在车联网场景中作为不同类型数据的统一查询接口。

概述

SQL查询兼容MySQL的查询语法,同时提供基础的SQL DDL建表能力。对于已有数据表,通过执行CREATE TABLE一键自动建立映射关系后,您可以使用SQL方式访问表中数据。

SQL查询功能支持通过多元索引来快速查询满足查询条件的数据。使用SQL查询时,系统会根据SQL语句自动选择合适的方式来加速SQL访问。

SQL查询功能适用于在海量数据中进行在线数据访问类型的场景,SQL访问的延时从毫秒、秒到分钟级别不等,包括基于数据表主键的Point Query (GetRow操作)、多元索引的精确查询(TermQuery )等以及通过多元索引的统计聚合能力进行查询,例如数据表中满足某个条件的个数、某列求和等。

SQL示例

使用时序表的多值模型映射表查询数据的SQL示例如下:

  • 查询某台车辆一段时间内的位置坐标
    select gps from `vehicles_timeseriesdata::multi_model` where _m_name = 'vehiclesSeriesData' and _data_source = 'vin_id_1488'
    and _time > 1655189452942704 and _time < 1655189872942704;
  • 分析某台车辆一段时间内的平均速度
    select avg(speed) from `vehicles_timeseriesdata::multi_model` where _m_name = 'vehiclesSeriesData' and _data_source = 'vin_id_1488'
    and _time > 1655189452942704 and _time < 1655189872942704;
  • 分析某个型号的车辆一段时间内的平均排放值
    select avg(emission) from `vehicles_timeseriesdata::multi_model` where tag_value_at(_tags,"model") = 'model_0'
    and _time > 1655189452942704 and _time < 1655189872942704;
  • 分析每个厂商车辆的总里程
    select  tag_value_at(_tags,"mfrs") as mfrs, sum(mileage) from `vehicles_timeseriesdata::multi_model` group by mfrs;

使用SQL查询

关于使用SQL查询时序数据的更多信息,请参见使用SQL查询时序数据

您可以通过以下方式使用SQL查询数据。