【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
相关推荐
程序员岳焱6 小时前
Java 与 MySQL 性能优化:Java 实现百万数据分批次插入的最佳实践
后端·mysql·性能优化
weixin_307779137 小时前
Hive集群之间迁移的Linux Shell脚本
大数据·linux·hive·bash·迁移学习
梦在深巷、7 小时前
MySQL/MariaDB数据库主从复制之基于二进制日志的方式
linux·数据库·mysql·mariadb
Johny_Zhao8 小时前
Ubuntu系统安装部署Pandawiki智能知识库
linux·mysql·网络安全·信息安全·云计算·shell·yum源·系统运维·itsm·pandawiki
祁思妙想9 小时前
八股学习(三)---MySQL
数据库·学习·mysql
惊骇世俗王某人9 小时前
1.MySQL之如何定位慢查询
数据库·mysql
叁沐10 小时前
MySQL 04 深入浅出索引(上)
mysql
q90854470310 小时前
MySQL 二进制日志binlog解析
mysql·binlog·binlog2sql·my2sql
码不停蹄的玄黓11 小时前
MySQL分布式ID冲突详解:场景、原因与解决方案
数据库·分布式·mysql·id冲突
王小王-12312 小时前
基于Hadoop的公共自行车数据分布式存储和计算平台的设计与实现
大数据·hive·hadoop·分布式·hadoop公共自行车·共享单车大数据分析·hadoop共享单车