开发者社区 > 大数据与机器学习 > 开源大数据平台 E-MapReduce > 正文

sr on es外部表的结构,字段名如何定义?

sr on es外部表的结构,字段名如何定义?

展开
收起
wenti 2023-01-08 17:26:33 382 0
1 条回答
写回答
取消 提交回答
  • Elasticsearch 外部表的字段名由目标数据源中的列名决定。当您将外部表连接到 Elasticsearch 时,列名将自动映射到 Elasticsearch 字段名。

    字段名格式:

    外部表的字段名通常遵循以下格式:

    {数据源类型}.{列名}
    例如,如果您的外部表连接到 MySQL 数据库,并且有一列名为 first_name,那么 Elasticsearch 字段名将为:

    mysql.first_name
    特殊字符处理:

    Elasticsearch 字段名不能包含以下特殊字符:

    .(句点)
    ,(逗号)
    *(星号)
    _(下划线),但可以在字段名的开头或结尾使用
    如果列名包含这些特殊字符,则在映射到 Elasticsearch 字段名时将被替换为下划线。例如,如果有一列名为 first-name,则 Elasticsearch 字段名将为:

    mysql_first-name
    保留字处理:

    Elasticsearch 保留字不能用作字段名。如果列名是 Elasticsearch 保留字,则在映射到 Elasticsearch 字段名时将加上前缀 es_。例如,如果有一列名为 type,则 Elasticsearch 字段名将为:

    es_type
    示例:

    假设您有一个连接到 PostgreSQL 数据库的外部表,其中包含以下列:

    id
    name
    email
    则 Elasticsearch 字段名将分别为:

    postgres.id
    postgres.name
    postgres.email
    注意:

    对于不支持列别名的数据源,字段名将始终使用原始列名。
    您可以使用 transform 语句自定义字段名映射。

    2024-02-26 16:54:19
    赞同 展开评论 打赏

阿里云EMR是云原生开源大数据平台,为客户提供简单易集成的Hadoop、Hive、Spark、Flink、Presto、ClickHouse、StarRocks、Delta、Hudi等开源大数据计算和存储引擎,计算资源可以根据业务的需要调整。EMR可以部署在阿里云公有云的ECS和ACK平台。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载