You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在GCP中基于Dataproc运行Cucumber BDD进行Spark作业测试

迁移本地BDD测试到GCP Dataproc集群的实现流程

以下是对应你本地Hadoop集群BDD测试流程的GCP Dataproc落地步骤:

一、集群配置与环境准备

  • 创建Dataproc集群时,勾选启用Hive和HBase组件(Dataproc默认集成这些服务,无需额外安装)
  • 配置集群服务账号:赋予访问GCS(存储作业包、测试数据)、Hive Metastore、HBase的权限;同时在VPC防火墙中开放端口:10000(Hive JDBC)、16010(HBase Thrift),允许测试机器的IP访问

二、测试数据插入(对应本地Hive/HBase插数步骤)

1. Hive表数据准备

  • 方式一:通过JDBC连接执行插入SQL
    INSERT INTO test_db.source_table VALUES (1, 'sample_data', '2024-01-01');
    
  • 方式二:批量导入本地数据:先把数据上传到GCS,再用Hive加载
    # 上传本地数据到GCS
    gsutil cp local_data.csv gs://your-bucket/test-data/
    # Hive加载命令
    LOAD DATA INPATH 'gs://your-bucket/test-data/local_data.csv' INTO TABLE test_db.source_table;
    

2. HBase表数据准备

  • 通过gcloud命令提交HBase Shell操作:
    gcloud dataproc jobs submit hbase --cluster=your-cluster-name \
      --command="put 'hbase_source_table', 'row_key_1', 'cf:column1', 'value1'"
    
  • 也可以通过HBase Thrift JDBC连接执行插入逻辑,连接地址为jdbc:hbase://<集群主节点外网IP>:16010/

三、运行Spark作业

  • 将本地Spark作业打包成jar包,上传到GCS路径(如gs://your-bucket/spark-jobs/your-job.jar)
  • 用gcloud命令提交作业到Dataproc集群:
    gcloud dataproc jobs submit spark --cluster=your-cluster-name \
      --jar=gs://your-bucket/spark-jobs/your-job.jar \
      --args="--input-hive-table=test_db.source_table,--input-hbase-table=hbase_source_table,--output-table=test_db.target_table"
    
  • 若作业依赖第三方库,添加--jars gs://your-bucket/libs/dependency1.jar,gs://your-bucket/libs/dependency2.jar参数

四、目标表数据验证

1. Hive目标表验证

  • 通过JDBC连接Dataproc Hive执行查询:
    SELECT COUNT(*), MAX(column1) FROM test_db.target_table;
    
    JDBC连接URL格式:jdbc:hive2://<集群主节点外网IP>:10000/test_db;transportMode=http;httpPath=cliservice
  • 也可以直接提交Hive查询作业验证:
    gcloud dataproc jobs submit hive --cluster=your-cluster-name --execute="SELECT * FROM test_db.target_table LIMIT 10;"
    

2. HBase目标表验证

  • 用gcloud命令查询HBase数据:
    gcloud dataproc jobs submit hbase --cluster=your-cluster-name \
      --command="scan 'hbase_target_table', {LIMIT => 5}"
    
  • 或通过HBase JDBC连接执行查询逻辑

五、BDD测试框架适配

  • 保留原有BDD测试的业务逻辑,仅修改JDBC连接配置:
    • 更新Hive、HBase的JDBC URL为Dataproc集群的对应地址
    • 确保测试机器能访问Dataproc集群的开放端口,若测试机器在GCP外,需配置防火墙规则允许对应IP访问

内容的提问来源于stack exchange,提问作者Raghu K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 08:06:29