StarRocks案例7:使用shell批量broker load导入hdfs数据

news/2024/5/20 2:31:49 标签: hdfs, hadoop, MPP, StarRocks

文章目录

  • 一. 问题描述
  • 二. 解决方案

一. 问题描述

近期需要进行补录数据,需要将hive的历史数据迁移到StarRocks,因为需要补录的数据较多,hive和StarRocks均使用的是分区表,两边的日期格式也不同,hive这边是 yyyymmdd格式,StarRocks这边是yyyy-mm-dd格式。

二. 解决方案

之前一直是使用DataX来从hive导入到StarRocks,因为DataX是单节点的,而hive和StarRocks是分布式的,所以这个性能其实一般,而且DataX配置json确实有点麻烦。

于是尝试使用StarRocks自带的broker load来进行导入,当然此时可以配合shell脚本来使用。
需要从2023-03-01 一直导入到2023-05-30 近90天的数据

#!/bin/bash
#Author         : 只是甲 at 20230609
#Remarks        : 通过broker load 导入hive 表

# 设置mysql的登录用户名和密码(根据实际情况填写)
mysql_user="root"
mysql_password="passwd"
mysql_host="ip"
mysql_port="9030"
database_name="db_name"

hive_table=hive_table_name
mpp_table=mpp_table_name

for i in {0..90};
do
    dt=`date -d "+$i day 2023-03-01" +%Y%m%d`
    startdate=`date -d "+$i day 2023-03-01" +%Y-%m-%d`
    echo "########$startdate#########"
    mysql -h${mysql_host} -P${mysql_port} -u${mysql_user} -p${mysql_password} -D${database_name} << EOF
LOAD LABEL label_${mpp_table}_$dt
(
    DATA INFILE("hdfs://ip:8020/hive/warehouse/${hive_table}/dt=${dt}/*") 
    INTO TABLE ${mpp_table}
    FORMAT AS "orc" 
    (col1, col2, col3, dt)
    SET
    (
     sr_date="$startdate",
     col1 = col1,
     col2 = col2,
     col3 = col3
    )
)
WITH BROKER 'broker_1'
(
"hadoop.security.authentication" = "simple",
"username" = "your_username",
"password" = "your_password"
)
PROPERTIES
(
    "timeout" = "3600"
);

EOF

done

http://www.niftyadmin.cn/n/472005.html

相关文章

数据库监控与调优【八】—— 索引类型

索引类型 MySQL有多种索引类型&#xff0c;使用不同的角度&#xff0c;分类也有所不同。 程序猿之间沟通时&#xff0c;经常会聊到各种索引类型&#xff0c;比如你说&#xff1a;“这是一个组合索引”&#xff0c;他说“这是一个聚簇索引”&#xff0c;如果不了解这些术语&am…

【Nginx03】Nginx学习:事件模块Event

Nginx学习&#xff1a;事件模块Event 基础的核心模块中&#xff0c;事件模块是非常重要的一个部分&#xff0c;但是&#xff0c;它的配置项其实并不多&#xff0c;常见的或者说需要我们去配置的更少。不过本着基础学习和了解的态度&#xff0c;咱们还是要一个个的学习一下。 首…

PaddleOCR #使用PaddleOCR进行光学字符识别 - OCR模型对比

PaddleOCR 在其工具包中提供了多种模型&#xff0c;并且非常易于应用。根据准确性和速度比较模型始终是一个好习惯。在本节中&#xff0c;我们将比较 PaddleOCR 提供的四种模型&#xff0c;即 SRN、PP-OCRv2、PP-OCRv3 和 NRTR。比较将在 COCO-text 数据集上进行&#xff0c;该…

创建第一个FreeRTOS任务

创建第一个FreeRTOS任务 一.序言二.创建任务2.1 句柄2.2 创建任务函数 三.代码实例四.实验现象 一.序言 其实FreeRTOS也没大家现象的那么困难&#xff0c;跟着博主的思路其实也挺容易上手的。前面几篇博客已经教大家搭建好FreeRTOS。这篇文章就是教大家实战&#xff0c;创建你…

k8s 提示8080端口无法连接

假如指定了–kubeconfig这个参数&#xff0c;会将这个文件作为证书文件连接K8s 当没有指定证书文件的时候&#xff0c;会先去环境变量里面找KUBECONFIG这个变量&#xff0c;如果这个变量存在的话会以这个路径作为环境变量 如果KUBECONFIG不存在的话&#xff0c;会在 用户名…

npm 异常报告

Unknown file extension ".css" for D:\xxxx\node_modules\.pnpm\element-plus2.3.6_vue3.3.4\node_modules\element-plus\theme-chalk\base.css 解决方法是&#xff1a; vite.cofig.ts 在noExternal里把安装的包加进去 ssr: {// TODO: workaround until they supp…

【微服务架构模式】构建应用程序的顶级微服务设计模式

在当今市场上&#xff0c;微服务已成为构建应用程序的首选解决方案。众所周知&#xff0c;它们可以解决各种挑战&#xff0c;但是&#xff0c;熟练的专业人员在使用此架构时经常面临挑战。因此&#xff0c;相反&#xff0c;开发人员可以探索这些问题中的常见模式&#xff0c;并…

idea中有个目录不显示,磁盘中是有的

java项目src下有个目录data不显示 通过打开D盘看目录是有的&#xff0c;运行项目的时候报错&#xff0c;找不到目录下的文件。 解决方案&#xff1a; idea -> file -> seetings -> EDitor -> file types 打开页面后右侧显示有ignore files and folders 查看这里面有…