【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
相关推荐
TTBIGDATA几秒前
【Ranger】Ranger Admin 配置 Knox 策略时出现,the trustAnchors parameter must be non-empty
大数据·hadoop·ambari·kerberos·ranger·knox·bigtop
Dxy123931021614 分钟前
MySQL如何使用EXPLAIN分析SQL语句:从执行计划到性能优化
sql·mysql·性能优化
计算机毕设指导61 小时前
基于微信小程序的非物质文化遗产推广管理系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven
予枫的编程笔记1 小时前
【MySQL飞升篇】分库分表避坑指南:垂直分库vs水平分表,分片键选对才不踩雷
mysql·分库分表·雪花算法·分布式id·水平分表·垂直分库·跨库查询
BYSJMG1 小时前
大数据分析案例:基于大数据的肺癌数据分析与可视化系统
java·大数据·vue.js·python·mysql·数据分析·课程设计
液态不合群10 小时前
[特殊字符] MySQL 覆盖索引详解
数据库·mysql
盒马coding14 小时前
深度解密MySQL2PG工具MySQL至PostgreSQL语法全景拆解过程
数据库·mysql·postgresql
Nandeska15 小时前
13、MySQL半同步复制示例
数据库·mysql
液态不合群15 小时前
【面试题】MySQL 中 count(*)、count(1) 和 count(字段名) 有什么区别?
android·数据库·mysql
怣5015 小时前
MySQL聚合函数在查询中的五大核心应用
数据库·mysql