• Doris通过ODBC驱动导入外部表数据


    基础环境

    Doris版本1.1

    MySQL 5.7.32

    CentOS 7 

    //通过外部表导入数据
    ODBC驱动创建外部表(前置条件)
    安装Mysql ODBC驱动
    这里我默认你是知道Mysql的安装方法,或者你已经有了Mysql数据库,对Mysql的安装配置就不在讲了,如果这块不清楚,请去百度。
    ①先安装odbc工具
    yum install -y unixODBC.x86_64
    从mysql 站点下载对应的驱动
    ②下载odbc驱动
    https://dev.mysql.com/downloads/connector/odbc/

    解压

    1. tar -zxvf mysql-connector-odbc-5.3.14-linux-glibc2.12-x86-64bit.tar.gz
    2. mv mysql-connector-odbc-5.3.14-linux-glibc2.12-x86-64bit mysql-connector-odbc


    安装ODBC

    1. ./myodbc-installer -a -d -n "MySQL ODBC 5.3.14 Unicode Driver" -t "Driver=/root/doris/mysql-connector-odbc/lib/libmyodbc5w.so"
    2. ./myodbc-installer -a -d -n "MySQL ODBC 5.3.14 ANSI Driver" -t "Driver=/root/doris/mysql-connector-odbc/lib/libmyodbc5a.so"


    ③配置doris驱动(位置/root/doris/apache-doris-be-1.1.3-bin-x86_64/conf/odbcinst.ini)

    1. # Driver from the mysql-connector-odbc package
    2. # Setup from the unixODBC package
    3. [ODBC for MySQL]
    4. Description     = ODBC for MySQL
    5. Driver          = /root/doris/mysql-connector-odbc/lib/libmyodbc5w.so
    6. FileUsage       = 1

    ///
    1.创建 ODBC Resource

    JDBC Resource 的目的是用于统一管理外部表的连接信息。
    Drop RESOURCE `TableName_test_odbc`

    1. CREATE EXTERNAL RESOURCE `TableName_test_odbc`
    2. PROPERTIES (
    3.     "type" = "odbc_catalog",
    4.     "host" = "ip",
    5.     "port" = "3306",
    6.     "user" = "root",
    7.     "password" = "",
    8.     "database" = "mysqlDatabase",
    9.     "table" = "TableName",
    10.     "odbc_type" = "mysql",
    11.      "jdbc_url"="jdbc:mysql://ip:3306/mysqlDatabase",
    12.     "driver"="ODBC for MySQL",
    13.     "driver_class"="com.mysql.jdbc.Driver"
    14. )

    2.创建外部表
    (数据类型注意修改成Doris版本的)

    1. CREATE EXTERNAL TABLE `ext_mysql_TableName` (
    2.   `id` int(11) NOT NULL COMMENT '自增ID',
    3.  /*此处省略所有字段*/
    4. ) ENGINE=ODBC
    5. COMMENT "ODBC"
    6. PROPERTIES (
    7.     "odbc_catalog_resource" = "TableName_test_odbc",
    8.     "database" = "mysqlDatabase",
    9.     "table" = "TableName"
    10. );

    3.在Doris中创建表

    1. CREATE  TABLE `doris_mysql_TableName` (
    2.   `id` int(11) NOT NULL COMMENT '自增ID',
    3. )
    4. COMMENT "Doris Table"
    5. DISTRIBUTED BY HASH(id) BUCKETS 2
    6. PROPERTIES (
    7.     "replication_num" = "1"
    8. );

    4. 导入数据 (从 ext_mysql_TableName 导入到 doris_mysql_TableName 表)

    INSERT INTO doris_mysql_TableName SELECT * FROM ext_mysql_TableName;

  • 相关阅读:
    基于openlayer展示mapbox样式的矢量切片
    java教师科研成果管理系统
    参加微软学生开发者峰会,了解Azure和GitHub……
    ECMAScript6 学习笔记
    js中的事件循环机制(宏任务和微任务都有哪些)
    RedisTemplate用法
    宇凡微YE09合封芯片,集成高性能32位mcu和2.4G芯片
    锐捷BGP基础配置
    python mitmproxy +雷电模拟器 安装
    什么是全链路压测?
  • 原文地址:https://blog.csdn.net/u013227785/article/details/128006858