【Hadoop】使用Metorikku框架读取hive数据统计分析写入mysql

一、定义作业文件

  • 作业文件

    • 该文件将包括输入源输出目标和要执行的配置文件的位置,具体内容如下

      bash 复制代码
      metrics:
        - /user/xrx/qdb.yaml   # 此位置为hdfs文件系统目录
      inputs:
      output:
        jdbc:
          connectionUrl: "jdbc:mysql://233.233.233.233:3306/sjjc"
          user: "root"
          password: "123456"
          driver: "com.mysql.jdbc.Driver"
      explain: true
      showQuery: true
  • 配置文件

    • 文件定义了 ETL 的步骤和查询,以及输出的位置和内容。

      bash 复制代码
      steps:
      - dataFrameName: df
        sql:
          select movieId,rating from hive.emp
      output:
      - dataFrameName: df
        outputType: JDBC
        outputOptions:
          saveMode: Append
          dbTable: emp

      该文件使用SQL查询从Hive表中读取数据,并使用JDBC将结果写入MySQL表/

二、上传作业文件和配置文件到hdfs系统

hdfs dfs -put qdb.yaml /user/xrx

三、执行指令

与mysql结合使用要定义数据库驱动,clickhouse及其它数据库使用要引入不同的数据库驱动,将多种数据驱动引擎放入lib文件中,一同加载。

shell 复制代码
#!/bin/bash
Path=/home/xrx
for jar in `ls $Path/lib/*jar`
do
        LIBJARS=$jar,$LIBJARS
done

spark-submit \
--master yarn \
--conf spark.sql.catalogImplementation=hive \
--driver-class-path $LIBJARS \
--jars $LIBJARS \
--class com.yotpo.metorikku.Metorikku metorikku_2.11.jar \
-c /user/xrx/qdb.yaml
相关推荐
zxrhhm2 小时前
MySQL 8.4 LTS 数据库巡检脚本
数据库·mysql
oldking呐呐5 小时前
MySQL从入门到入土 -- 2.数据库基础
后端·mysql
Bert.Cai10 小时前
MySQL TRIM()函数详解
数据库·mysql
九皇叔叔13 小时前
MySQL 8.x 隔离级别调整
数据库·mysql·事务·隔离级别
许愿OvO14 小时前
MySQL 8.3.0 运维与集群架构实战
运维·mysql·架构
程序员张315 小时前
MySQL创建用户且只能访问指定数据库表
mysql
阿维的博客日记16 小时前
我现在能理解mvcc让读不阻塞,但是无法理解mvcc让写不阻塞??
mysql·事务·mvcc
禹凕16 小时前
MYSQL——基础知识(SQL的临时表和克隆表)
sql·mysql
jvvz afqh16 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
阿维的博客日记17 小时前
隔离性和mvcc有什么关系吗
数据库·mysql·事务·mvcc·隔离性