
# Flink使用Hive connector对接OBS指导
#### 概述
通过使用Hive Catalog，Apache Flink可以对Apache Hive表做统一的批处理和流处理。这意味着Flink可以成为Hive批处理引擎的一个性能更好的选择，或者连续读写Hive表中的数据以支持实时数据仓库应用。
#### 前提条件
参考[Flink对接OBS](https://support.huaweicloud.com/bestpractice-obs/obs_05_1516.html)完成Flink对接OBS。
#### 配置Flink的Hive connector连接
参考[Flink官网文档](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/connectors/table/hive/overview/)完成Flink的Hive connector连接。注意：Hive connector仅支持JDK8.x，不支持JDK11+。
#### 运行
1. 启动Flink。
2. 启动SQL Client。
3. 创建Flink HiveCatalog，命令如下： 
   ```
   CREATE CATALOG obs_hive WITH (
       'type' = 'hive',
   'default-database' = 'userdb',
       'hive-conf-dir' = '/opt/flink-1.20.0/conf/'
   );
   ```
   
   
4. 使用HiveCatalog，命令如下： 
   ```
   USE CATALOG obs_hive;
   ```
   
   
5. 使用Hive dialect，命令如下： 
   ```
   SET table.sql-dialect = hive;
   ```
   
   
6. 创建外表并指定LOCATION，命令如下： 
   ```
   CREATE EXTERNAL TABLE IF NOT EXISTS table_xxx(
     id INT,
     name STRING,
     age INT
   ) 
   LOCATION 'obs://bucket_xxx/flink/warehouse/userdb.db/table_xxx;
   ```
   
   
 
