You need to enable JavaScript to run this app.
E-MapReduce

E-MapReduce

复制全文
Spark(仅适用于EMR on VKE形态)
新建 HiveMetaStore 集群并运行 SparkSQL 作业
复制全文
新建 HiveMetaStore 集群并运行 SparkSQL 作业

概述

本示例将展示如何创建 HiveMetaStore 集群,并已有 Spark 集群与新集群关联以便执行 SparkSQL 作业,查询 Tos 中的数据。

资源准备

  1. 您已创建一个 EMR On VKE Spark 集群;
  2. 一个 TOS 桶,并创建一个空目录用于存储数据(或您已存储数据,希望使用 SparkSQL 查询的数据);
  3. 一个 RDS 实例及对应表,用于存储 HMS Schema 元数据。注意检查该实例是否有白名单限制(白名单需要对您的 vke 集群放开)。

创建 HMS 集群

进入火山引擎 EMR 控制台 -> on VKE -> 创建虚拟集群:

  1. 选择产品版本及服务,服务选择 Hive;
  2. 填写集群信息,配置专属节点及对应的名称等信息;
  3. 选择 TOS bucket 对应的下属目录作为 SparkSQL 数据存储地址(请记录该值,在后续配置 spark 中使用)。之后填写具有该 bucket 读写权限的 AK、SK;
  4. 选择 RDS 实例及库作为 HMS schema 存储表

注意

如果您无历史数据,为避免发生数据覆盖,请选择新库作为 hms schema 的初始化库。hms 部署时将创建并更新对应库内的表及数据以满足 hms 运行时需要

  1. 点击确定完成集群创建。

配置 Spark 集群配置

此处假设您已创建对应的 spark 集群,您需要将上述创建的 hive 相关配置配置到 spark 集群中以便使用。

  1. 配置 hive.metasotore.uris 参数:
    • 确定 hms 的 thrift 地址。该参数为 hms 的 thrift 地址,拼接规则为:

thrift://hive-metastore.{hive 集群所在 namespace}:9083/TCP
其中 namespace 可以在服务列表中查看:

  • 在 spark 控制台配置 spark-defaults.conf 中对应配置项为上述值

之后点击右上角保存按钮。

  1. 添加配置项 spark.sql.warehouse.dir:
    • 确定对应值:该值为您创建 hms 指定的 tos bucket及文件目录值。该值您也可以在 hms 集群中的配置项中找到:
  • 在服务列表中添加该配置项

之后点击确定,然后保存。

  1. 点击重启按钮,生效配置:

等待重启完成。

提交 SparkSQL 作业

目前 sparkSQL 作业需要进入 Spark-Operator 镜像中以进行执行。

  1. 进入 VKE 集群,选择“无状态负载”,找到对应的 sparkOperator 镜像,并点击“控制台”进入:
  1. 执行 spark sql 交互式命令:
/opt/spark/bin/spark-sql
  1. 执行 spark SQL 命令。
CREATE Table demo1 (key1 int, key2 int);
INSERT INTO demo1 (key1, key2) VALUES (1, 2);
SELECT * from demo1;
最近更新时间:2024.06.24 14:43:08
这个页面对您有帮助吗?
有用
有用
无用
无用