支持的數據源
更新時間 2023-08-17 14:59:59
最近更新時間: 2023-08-17 14:59:59
分享文章
本章節主要介紹支持的數據源。
數據集成有兩種遷移方式,支持的數據源有所不同:
- 表/文件遷移:適用于數據入湖和數據上云場景下,表或文件級別的數據遷移,請參見表/文件遷移支持的數據源類型。
- 整庫遷移:適用于數據入湖和數據上云場景下,離線或自建數據庫整體遷移場景,請參見整庫遷移支持的數據源類型。
- 另外,本章還列舉了一些常見數據庫遷移時所支持的數據類型,請參見開源MySQL數據庫遷移時支持的數據類型、Oracle數據庫遷移時支持的數據類型和SQL Server數據庫遷移時支持的數據類型。
表/文件遷移支持的數據源類型
表/文件遷移可以實現表或文件級別的數據遷移。
表/文件遷移時支持的數據源詳見下表
| 數據源分類 | 源端數據源 | 對應的目的端數據源 | 說明 |
|---|---|---|---|
| 數據倉庫 | 數據倉庫服務(DWS) | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) 關系型數據庫:云數據庫 MySQL,云數據庫 PostgreSQL,云數據庫 SQL Server,MySQL,PostgreSQL,Microsoft SQL Server,Oracle NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
不支持DWS物理機納管模式。 |
| 數據倉庫 | 數據湖探索(DLI) | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) 關系型數據庫:云數據庫 MySQL,云數據庫 PostgreSQL,云數據庫 SQL Server,MySQL,PostgreSQL,Microsoft SQL Server,Oracle NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
無 |
| Hadoop | MRS HDFS | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) 關系型數據庫:云數據庫 MySQL,云數據庫 PostgreSQL,云數據庫 SQL Server,MySQL,PostgreSQL,Microsoft SQL Server,Oracle NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
支持本地存儲,僅MRS Hive支持存算分離場景。 僅MRS Hive支持Ranger場景。 不支持ZK開啟SSL場景。 MRS HDFS建議使用的版本: ?2.8.X ?3.1.X MRS HBase建議使用的版本: ?2.1.X ?1.3.X MRS Hive暫不支持2.x版本,建議使用的版本: ?1.2.X ?3.1.X |
| Hadoop | MRS HBase | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) 關系型數據庫:云數據庫 MySQL,云數據庫 PostgreSQL,云數據庫 SQL Server,MySQL,PostgreSQL,Microsoft SQL Server,Oracle NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
支持本地存儲,僅MRS Hive支持存算分離場景。 僅MRS Hive支持Ranger場景。 不支持ZK開啟SSL場景。 MRS HDFS建議使用的版本: ?2.8.X ?3.1.X MRS HBase建議使用的版本: ?2.1.X ?1.3.X MRS Hive暫不支持2.x版本,建議使用的版本: ?1.2.X ?3.1.X |
| Hadoop | MRS Hive | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) 關系型數據庫:云數據庫 MySQL,云數據庫 PostgreSQL,云數據庫 SQL Server,MySQL,PostgreSQL,Microsoft SQL Server,Oracle NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
支持本地存儲,僅MRS Hive支持存算分離場景。 僅MRS Hive支持Ranger場景。 不支持ZK開啟SSL場景。 MRS HDFS建議使用的版本: ?2.8.X ?3.1.X MRS HBase建議使用的版本: ?2.1.X ?1.3.X MRS Hive暫不支持2.x版本,建議使用的版本: ?1.2.X ?3.1.X |
| Hadoop | FusionInsight HDFS | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
FusionInsight數據源不支持作為目的端。 僅支持本地存儲,不支持存算分離場景。 不支持Ranger場景。 不支持ZK開啟SSL場景。 FusionInsight HDFS建議使用的版本: ?2.8.X ?3.1.X FusionInsight HBase建議使用的版本: ?2.1.X ?1.3.X FusionInsight Hive建議使用的版本: ?1.2.X ?3.1.X |
| Hadoop | FusionInsight HBase | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
FusionInsight數據源不支持作為目的端。 僅支持本地存儲,不支持存算分離場景。 不支持Ranger場景。 不支持ZK開啟SSL場景。 FusionInsight HDFS建議使用的版本: ?2.8.X ?3.1.X FusionInsight HBase建議使用的版本: ?2.1.X ?1.3.X FusionInsight Hive建議使用的版本: ?1.2.X ?3.1.X |
| Hadoop | FusionInsight Hive | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
FusionInsight數據源不支持作為目的端。 僅支持本地存儲,不支持存算分離場景。 不支持Ranger場景。 不支持ZK開啟SSL場景。 FusionInsight HDFS建議使用的版本: ?2.8.X ?3.1.X FusionInsight HBase建議使用的版本: ?2.1.X ?1.3.X FusionInsight Hive建議使用的版本: ?1.2.X ?3.1.X |
| Hadoop | Apache HBase | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
Apache數據源不支持作為目的端。 僅支持本地存儲,不支持存算分離場景。 不支持Ranger場景。 不支持ZK開啟SSL場景。 Apache HBas建議使用的版本: ?2.1.X ?1.3.X Apache Hive暫不支持2.x版本,建議使用的版本: ?1.2.X ?3.1.X Apache HDFS建議使用的版本: ?2.8.X ?3.1.X |
| Hadoop | Apache Hive | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
Apache數據源不支持作為目的端。 僅支持本地存儲,不支持存算分離場景。 不支持Ranger場景。 不支持ZK開啟SSL場景。 Apache HBas建議使用的版本: ?2.1.X ?1.3.X Apache Hive暫不支持2.x版本,建議使用的版本: ?1.2.X ?3.1.X Apache HDFS建議使用的版本: ?2.8.X ?3.1.X |
| Hadoop | Apache HDFS | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
Apache數據源不支持作為目的端。 僅支持本地存儲,不支持存算分離場景。 不支持Ranger場景。 不支持ZK開啟SSL場景。 Apache HBas建議使用的版本: ?2.1.X ?1.3.X Apache Hive暫不支持2.x版本,建議使用的版本: ?1.2.X ?3.1.X Apache HDFS建議使用的版本: ?2.8.X ?3.1.X |
| 對象存儲 | 對象存儲服務(OBS) | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
對象存儲服務之間的遷移,推薦使用對象存儲遷移服務OMS。 |
| 文件系統 | FTP | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
文件系統不支持作為目的端。 FTP/SFTP到搜索的遷移僅支持如CSV等文本文件,不支持二進制文件。 文件系統到OBS的遷移推薦使用obsutil工具。 |
| 文件系統 | SFTP | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
文件系統不支持作為目的端。 FTP/SFTP到搜索的遷移僅支持如CSV等文本文件,不支持二進制文件。 文件系統到OBS的遷移推薦使用obsutil工具。 |
| 文件系統 | HTTP | Hadoop:MRS HDFS | 文件系統不支持作為目的端。 FTP/SFTP到搜索的遷移僅支持如CSV等文本文件,不支持二進制文件。 文件系統到OBS的遷移推薦使用obsutil工具。 |
| 關系型數據庫 | 云數據庫MySQL | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) NoSQL:表格存儲服務(CloudTable) 關系型數據庫:云數據庫 MySQL,云數據庫 PostgreSQL,云數據庫 SQL Server 搜索:Elasticsearch,云搜索服務(CSS) |
OLTP數據庫之間的遷移推薦通過數據復制服務DRS進行遷移。 云數據庫 MySQL不支持SSL模式。 Microsoft SQL Server建議使用的版本:2005以上。 |
| 關系型數據庫 | 云數據庫PostgreSQL | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) NoSQL:表格存儲服務(CloudTable) 關系型數據庫:云數據庫 MySQL,云數據庫 PostgreSQL,云數據庫 SQL Server 搜索:Elasticsearch,云搜索服務(CSS) |
OLTP數據庫之間的遷移推薦通過數據復制服務DRS進行遷移。 云數據庫 MySQL不支持SSL模式。 Microsoft SQL Server建議使用的版本:2005以上。 |
| 關系型數據庫 | 云數據庫SQL Server | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) NoSQL:表格存儲服務(CloudTable) 關系型數據庫:云數據庫 MySQL,云數據庫 PostgreSQL,云數據庫 SQL Server 搜索:Elasticsearch,云搜索服務(CSS) |
OLTP數據庫之間的遷移推薦通過數據復制服務DRS進行遷移。 云數據庫 MySQL不支持SSL模式。 Microsoft SQL Server建議使用的版本:2005以上。 |
| 關系型數據庫 | MySQL | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
OLTP數據庫之間的遷移推薦通過數據復制服務DRS進行遷移。 云數據庫 MySQL不支持SSL模式。 Microsoft SQL Server建議使用的版本:2005以上。 |
| 關系型數據庫 | PostgreSQL | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
OLTP數據庫之間的遷移推薦通過數據復制服務DRS進行遷移。 云數據庫 MySQL不支持SSL模式。 Microsoft SQL Server建議使用的版本:2005以上。 |
| 關系型數據庫 | Microsoft SQL Server | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
OLTP數據庫之間的遷移推薦通過數據復制服務DRS進行遷移。 云數據庫 MySQL不支持SSL模式。 Microsoft SQL Server建議使用的版本:2005以上。 |
| 關系型數據庫 | Oracle | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
OLTP數據庫之間的遷移推薦通過數據復制服務DRS進行遷移。 云數據庫 MySQL不支持SSL模式。 Microsoft SQL Server建議使用的版本:2005以上。 |
| 關系型數據庫 | SAP HANA | 數據倉庫:數據湖探索(DLI) Hadoop:MRS Hive |
SAP HANA數據源存在如下約束:SAP HANA不支持作為目的端。 僅支持2.00.050.00.1592305219版本。 僅支持Generic Edition。不支持BW/4 FOR HANA。 僅支持英文字母的數據庫名、表名與列名,不支持存在空格、符號等特殊字符。 僅支持日期、數字、布爾、字符(除SHORTTEXT) 類型的數據類型,不支持二進制類型等其他數據類型。 遷移時不支持目的端自動建表。 |
| 關系型數據庫 | 分庫 | 數據倉庫:數據湖探索(DLI) Hadoop:MRS HBase,MRS Hive 搜索:Elasticsearch,云搜索服務(CSS) 對象存儲:對象存儲服務(OBS) |
分庫數據源不支持作為目的端。 |
| NoSQL | 分布式緩存服務(DCS) | Hadoop:MRS HDFS,MRS HBase,MRS Hive | 除了表格存儲服務(CloudTable)外,其他NoSQL數據源不支持作為目的端。 |
| NoSQL | Redis | Hadoop:MRS HDFS,MRS HBase,MRS Hive | 除了表格存儲服務(CloudTable)外,其他NoSQL數據源不支持作為目的端。 |
| NoSQL | 文檔數據庫服務(DDS) | Hadoop:MRS HDFS,MRS HBase,MRS Hive | 除了表格存儲服務(CloudTable)外,其他NoSQL數據源不支持作為目的端。 |
| NoSQL | MongoDB | Hadoop:MRS HDFS,MRS HBase,MRS Hive | 除了表格存儲服務(CloudTable)外,其他NoSQL數據源不支持作為目的端。 |
| NoSQL | 表格存儲服務(CloudTable) | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) 關系型數據庫:云數據庫 MySQL,云數據庫 PostgreSQL,云數據庫 SQL Server,MySQL,PostgreSQL,Microsoft SQL Server,Oracle NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
除了表格存儲服務(CloudTable)外,其他NoSQL數據源不支持作為目的端。 |
| NoSQL | Cassandra | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
除了表格存儲服務(CloudTable)外,其他NoSQL數據源不支持作為目的端。 |
| 消息系統 | Apache Kafka | 搜索:云搜索服務(CSS) | 消息系統不支持作為目的端。 |
| 消息系統 | DMS Kafka | 搜索:云搜索服務(CSS) | 消息系統不支持作為目的端。 |
| 消息系統 | MRS Kafka | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) 關系型數據庫:云數據庫 MySQL,云數據庫 PostgreSQL,云數據庫 SQL Server NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
MRS Kafka不支持作為目的端。 僅支持本地存儲,不支持存算分離場景。 不支持Ranger場景。不支持ZK開啟SSL場景。 |
| 搜索 | Elasticsearch | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) 關系型數據庫:云數據庫 MySQL,云數據庫 PostgreSQL,云數據庫 SQL Server NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
Elasticsearch僅支持非安全模式。 |
| 搜索 | 云搜索服務(CSS) | 數據倉庫:數據倉庫服務(DWS),數據湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 對象存儲:對象存儲服務(OBS) 關系型數據庫:云數據庫 MySQL,云數據庫 PostgreSQL,云數據庫 SQL Server NoSQL:表格存儲服務(CloudTable) 搜索:Elasticsearch,云搜索服務(CSS) |
導入數據到CSS推薦使用Logstash。 |
說明上表中非云服務的數據源,例如MySQL,既可以支持用戶本地數據中心自建的MySQL,也可以是用戶在ECS上自建的MySQL,還可以是第三方云的MySQL服務。
整庫遷移支持的數據源類型
整庫遷移適用于將本地數據中心或在ECS上自建的數據庫,同步到云上的數據庫服務或大數據服務中,適用于數據庫離線遷移場景,不適用于在線實時遷移。
數據集成支持整庫遷移的數據源詳見下表
| 數據源分類 | 數據源 | 讀取 | 寫入 | 說明 |
|---|---|---|---|---|
| 數據倉庫 | 數據倉庫服務(DWS) | 支持 | 支持 | - |
| 數據倉庫 | FusionInsight LibrA | 支持 | 不支持 | - |
| Hadoop (僅支持本地存儲,不支持存算分離場景,不支持Ranger場景,不支持ZK開啟SSL場景) | MRS HBase | 支持 | 支持 | 整庫遷移僅支持導出到MRS HBase。 建議使用的版本: 2.1.X 1.3.X |
| Hadoop (僅支持本地存儲,不支持存算分離場景,不支持Ranger場景,不支持ZK開啟SSL場景) | MRS Hive | 支持 | 支持 | 整庫遷移僅支持導出到關系型數據庫。 暫不支持2.x版本,建議使用的版本: 1.2.X 3.1.X |
| Hadoop (僅支持本地存儲,不支持存算分離場景,不支持Ranger場景,不支持ZK開啟SSL場景) | FusionInsight HBase | 支持 | 不支持 | 建議使用的版本: 2.1.X 1.3.X |
| Hadoop (僅支持本地存儲,不支持存算分離場景,不支持Ranger場景,不支持ZK開啟SSL場景) | FusionInsight Hive | 支持 | 不支持 | 整庫遷移僅支持導出到關系型數據庫。 暫不支持2.x版本,建議使用的版本: 1.2.X 3.1.X |
| Hadoop (僅支持本地存儲,不支持存算分離場景,不支持Ranger場景,不支持ZK開啟SSL場景) | Apache HBase | 支持 | 不支持 | 建議使用的版本: 2.1.X 1.3.X |
| Hadoop (僅支持本地存儲,不支持存算分離場景,不支持Ranger場景,不支持ZK開啟SSL場景) | Apache Hive | 支持 | 不支持 | 整庫遷移僅支持導出到關系型數據庫。 暫不支持2.x版本,建議使用的版本: 1.2.X 3.1.X |
| 關系數據庫 | 云數據庫MySQL | 支持 | 支持 | 不支持OLTP到OLTP遷移,此場景推薦通過數據復制服務DRS進行遷移。 |
| 關系數據庫 | 云數據庫PostgreSQL | 支持 | 支持 | |
| 關系數據庫 | 云數據庫SQL Server | 支持 | 支持 | |
| 關系數據庫 | MySQL | 支持 | 不支持 | |
| 關系數據庫 | PostgreSQL | 支持 | 不支持 | |
| 關系數據庫 | Microsoft SQL Server | 支持 | 不支持 | |
| 關系數據庫 | Oracle | 支持 | 不支持 | |
| 關系數據庫 | SAP HANA | 支持 | 不支持 | 僅支持2.00.050.00.1592305219版本。 僅支持Generic Edition。 不支持BW/4 FOR HANA。 僅支持英文字母的數據庫名、表名與列名,不支持存在空格、符號等特殊字符。 僅支持日期、數字、布爾、字符(除SHORTTEXT) 類型的數據類型,不支持二進制類型等其他數據類型。 遷移時不支持目的端自動建表。 |
| 關系數據庫 | 達夢數據庫DM | 支持 | 不支持 | 僅支持導出到DWS、Hive |
| NoSQL | 分布式緩存服務(DCS) | 不支持 | 支持 | 僅支持MRS到DCS遷移。 |
| NoSQL | 文檔數據庫服務(DDS) | 支持 | 支持 | 僅支持DDS和MRS之間遷移。 |
| NoSQL | 表格存儲服務(CloudTable) | 支持 | 支持 |
開源MySQL數據庫遷移時支持的數據類型
源端為開源MySQL數據庫,目的端為Hive、DWS時,支持的數據類型詳見下表
| 類別 | 類型 | 簡要釋義 | 存儲格式示例 | Hive | DWS |
|---|---|---|---|---|---|
| 字符串 | CHAR(M) | 固定長度的字符串是以長度為1到255之間個字符長度(例如:CHAR(5)),存儲右空格填充到指定的長度。 限定長度不是必需的,它會默認為1。 |
‘a’或‘aaaaa’ | CHAR | CHAR |
| VARCHAR(M) | 可變長度的字符串是以長度為1到255之間字符數(高版本的MySQL超過255);例如:VARCHAR(25). 創建VARCHAR類型字段時,必須定義長度。 | ‘a’或‘aaaaa’ | VARCHAR | VARCHAR | |
| 數值 | DECIMAL(M,D) | 非壓縮浮點數不能是無符號的。在解包小數,每個小數對應于一個字節。 定義顯示長度(M)和小數(D)的數量是必需的。 NUMERIC是DECIMAL的同義詞。 |
52.36 | DECIMAL | D為0時對應BIGINT D不為0時對應NUMBERIC |
| NUMBERIC | 與DECIMAL相同。 | - | DECIMAL | NUMBERIC | |
| INTEGER | 一個正常大小的整數,可以帶符號。 如果是有符號的,它允許的范圍是從-2147483648到2147483647。 如果是無符號,允許的范圍是從0到4294967295。 可以指定多達11位的寬度。 |
5236 | INT | INTEGER | |
| INTEGER UNSIGNED | INTEGER的無符號形式。 | - | BIGINT | INTEGER | |
| INT | 與INTEGER相同。 | 5236 | INT | INTEGER | |
| INT UNSIGNED | 與INTEGER UNSIGNED相同。 | - | BIGINT | INTEGER | |
| BIGINT | 一個大的整數,可以帶符號。 如果有符號,允許范圍為-9223372036854775808到9223372036854775807。 如果無符號,允許的范圍是從0到18446744073709551615.可以指定最多20位的寬度。 |
5236 | BIGINT | BIGINT | |
| BIGINT UNSIGNED | BIGINT的無符號形式。 | - | BIGINT | BIGINT | |
| MEDIUMINT | 一個中等大小的整數,可以帶符號。如果有符號,允許范圍為-8388608至8388607。 如果無符號,允許的范圍是從0到16777215,可以指定最多9位的寬度。 |
-128、127 | INT | INTEGER | |
| MEDIUMINT UNSIGNED | MEDIUMINT的無符號形式。 | - | BIGINT | INTEGER | |
| TINYINT | 一個非常小的整數,可以帶符號。如果是有符號,它允許的范圍是從-128到127。 如果是無符號,允許的范圍是從0到255,可以指定多達4位數的寬度。 |
100 | TINYINT | SMALLINT | |
| TINYINT UNSIGNED | TINYINT的無符號形式。 | - | TINYINT | SMALLINT | |
| BOOL | MySQL的bool實際上就是tinyint(1) | -128、127 | SMALLINT | BYTEA | |
| SMALLINT | 一個小的整數,可以帶符號。 如果有符號,允許范圍為-32768至32767。 如果無符號,允許的范圍是從0到65535,可以指定最多5位的寬度。 |
9999 | SMALLINT | SMALLINT | |
| SMALLINT UNSIGNED | SMALLINT的無符號形式。 | - | INT | SMALLINT | |
| REAL | 同DOUBLE。 | - | DOUBLE | - | |
| FLOAT(M,D) | 不能使用無符號的浮點數字。 可以定義顯示長度(M)和小數位數(D)。 這不是必需的,并且默認為10,2。其中2是小數的位數,10是數字(包括小數)的總數。 小數精度可以到24個浮點。 |
52.36 | FLOAT | FLOAT4 | |
| DOUBLE(M,D) | 不能使用無符號的雙精度浮點數。 可以定義顯示長度(M)和小數位數(D)。 這不是必需的, 默認為16,4,其中4是小數的位數。 小數精度可以達到53位的DOUBLE。 REAL是DOUBLE同義詞。 |
52.36 | DOUBLE | FLOAT8 | |
| DOUBLE PRECISION | 與DOUBLE相似。 | 52.3 | DOUBLE | FLOAT8 | |
| 位 | BIT(M) | 存儲位值的BIT類型。 BIT(M)可以存儲多達M位的值,M的范圍在1到64之間。 |
B'1111100' B'1100' | TINYINT | BYTEA |
| 日期時間 | DATE | 以YYYY-MM-DD格式的日期,在1000-01-01和9999-12-31之間。 例如,1973年12月30日將被存儲為1973-12-30。 |
1999-10-01 | DATE | TIMESTAMP |
| TIME | 用于存儲時、分、秒信息 | '09:10:21'或'9:10:21' | 不支持(String) | TIME | |
| DATETIME | 日期和時間組合以YYYY-MM-DD HH:MM:SS格式,在1000-01-01 00:00:00到9999-12-31 23:59:59之間。 例如,1973年12月30日下午3:30,會被存儲為1973-12-30 15:30:00。 |
'1973-12-30 15:30:00' | TIMESTAMP | TIMESTAMP | |
| TIMESTAMP | 1970年1月1日午夜之間的時間戳,到2037的某個時候。這看起來像前面的DATETIME格式,無需只是數字之間的連字符; 1973年12月30日下午3點30分將被存儲為19731230153000(YYYYMMDDHHMMSS)。 | 19731230153000 | TIMESTAMP | TIMESTAMP | |
| YEAR(M) | 以2位或4位數字格式來存儲年份。 如果長度指定為2(例如YEAR(2)),年份就可以為1970至2069(70?69)。 如果長度指定為4,年份范圍是1901-2155,默認長度為4。 |
2000 | 不支持(String) | 不支持 | |
| 多媒體(二進制) | BINARY(M) | 字節數為M,允許長度為0-M的變長二進制字符串,字節數為值得長度加1 | 0x2A3B4058 (二進制數據) | 不支持 | BYTEA |
| VARBINARY(M) | 字節數為M,允許長度為0-M的定長二進制字符串 | 0x2A3B4059 (二進制數據) | 不支持 | BYTEA | |
| TEXT | 字段的最大長度是65535個字符。TEXT是“二進制大對象”,并用來存儲大的二進制數據,如圖像或其他類型的文件。 | 0x5236(二進制數據) | 不支持 | 不支持 | |
| TINYTEXT | 0-255字節短文本二進制字符串 | - | - | 不支持 | |
| MEDIUMTEXT | 0-167772154字節中等長度文本二進制字符串 | - | - | 不支持 | |
| LONGTEXT | 0-4294967295字節極大長度文本二進制字符串 | - | - | 不支持 | |
| BLOB | 字段的最大長度是65535個字符。 BLOB是“二進制大對象”,并用來存儲大的二進制數據,如圖像或其他類型的文件。 BLOB大小寫敏感。 |
0x5236(二進制數據) | 不支持 | BYTEA | |
| TINYBLOB | 0-255字節短文本二進制字符串 | - | - | BYTEA | |
| MEDIUMBLOB | 0-167772154字節中等長度文本二進制字符串 | - | - | BYTEA | |
| LONGBLOB | 0-4294967295字節極大長度文本二進制字符串 | 0x5236(二進制數據) | 不支持 | BYTEA | |
| 特殊類型 | SET | SET是一個字符串對象,可以有零或多個值,其值來自表創建時規定的允許的一列值。 指定包括多個SET成員的SET列值時各成員之間用逗號(‘,’)間隔開。這樣SET成員值本身不能包含逗號。 |
- | - | 不支持 |
| JSON | - | - | 不支持 | 不支持(TEXT) | |
| ENUM | 當定義一個ENUM,要創建它的值的列表,這些是必須用于選擇的項(也可以是NULL)。 例如,如果想要字段包含“A”或“B”或“C”,那么可以定義為ENUM為ENUM(“A”,“B”,“C”)也只有這些值(或NULL)才能用來填充這個字段。 |
- | 不支持 | 不支持 |
Oracle數據庫遷移時支持的數據類型
源端為Oracle數據庫,目的端為Hive、DWS時,支持的數據類型詳見下表
| 類別 | 類型 | 簡要釋義 | Hive | DWS |
|---|---|---|---|---|
| 字符串 | char | 定長字符串,會用空格填充來達到最大長度。 | CHAR | CHAR |
| nchar | 包含unicode格式數據的定長字符串。 | CHAR | CHAR | |
| varchar2 | 是VARCHAR的同義詞。這是一個變長字符串,與CHAR類型不同,它不會用空格將字段或變量填充至最大長度。 | VARCHAR | VARCHAR | |
| nvarchar2 | 包含unicode格式數據的變長字符串。 | VARCHAR | VARCHAR | |
| 數值 | number | 能存儲精度最多高達38位的數字 | DECIMAL | NUMERIC |
| binary_float | 2位單精度浮點數 | FLOAT | FLOAT8 | |
| binary_double | 64位雙精度浮點數 | DOUBLE | FLOAT8 | |
| long | 能存儲最多2GB的字符數據 | 不支持 | 不支持 | |
| 日期時間 | date | 7字節的定寬日期/時間數據類型,其中包含7個屬性:世紀、世紀中的哪一年、月份、月中的哪一天、小時、分鐘、秒。 | DATE | TIMESTAMP |
| timestamp | 7字節或11字節的定寬日期/時間數據類型,它包含小數秒 | TIMESTAMP | TIMESTAMP | |
| timestamp with time zone | 3字節的timestamp,提供了時區支持。 | TIMESTAMP | TIME WITH TIME ZONE | |
| timestamp with local time zone | 7字節或11字節的定寬日期/時間數據類型,在數據的插入和讀取時會發生時區轉換 | TIMESTAMP | 不支持(TEXT) | |
| interval year to month | 5字節的定寬數據類型,用于存儲一個時段。 | 不支持 | 不支持(TEXT) | |
| interval day to second | 11字節的定寬數據類型,用于存儲一個時段。將時段存儲為天/小時/分鐘/秒數,還可以有9位小數秒。 | 不支持 | 不支持(TEXT) | |
| 多媒體(二進制) | raw | 一種變長二進制數據類型,采用這種數據類型存儲的數據不會發生字符集轉換。 | 不支持 | 不支持 |
| long raw | 能存儲多達2GB的二進制信息 | 不支持 | 不支持 | |
| blob | 能夠存儲最多4GB的數據 | 不支持 | 不支持 | |
| clob | 在Oracle 10g及以后的版本中允許存儲最多(4GB)×(數據庫塊大小)字節的數據。CLOB包含要進行字符集轉換的信息。這種數據類型很適合存儲純文本信息。 | 不支持 | 不支持 | |
| nclob | 這種類型能夠存儲最多4GB的數據。當字符集發生轉換時,這種類型會受到影響。 | 不支持 | 不支持 | |
| bfile | 可以在數據庫列中存儲一個oracle目錄對象和一個文件名,我們可以通過它來讀取這個文件。 | 不支持 | 不支持 | |
| 其他類型 | rowid | 實際上是數據庫表中行的地址,它有10字節長。 | 不支持 | 不支持 |
| urowid | 是一個通用的rowid,沒有固定的rowid的表。 | 不支持 | 不支持 |
SQL Server數據庫遷移時支持的數據類型
源端為SQL Server數據庫,目的端為Hive、DWS、Oracle時,支持的數據類型詳見下表
| 類別 | 類型 | 簡要釋義 | Hive | DWS | Oracle |
|---|---|---|---|---|---|
| 字符串數據類型 | char | 定長字符串,會用空格填充來達到最大長度。 | CHAR | CHAR | CHAR |
| nchar | 包含unicode格式數據的定長字符串。 | CHAR | CHAR | CHAR | |
| varchar | 可變長度的字符串是以長度為1到255之間字符數(高版本的MySQL超過255);例如:VARCHAR(25);創建VARCHAR類型字段時,必須定義長度。 | VARCHAR | VARCHAR | VARCHAR | |
| nvarchar | 與varchar類似,存儲可變長度Unicode字符數據。 | VARCHAR | VARCHAR | VARCHAR | |
| 數值數據類型 | int | int存儲在4個字節中,其中一個二進制位表示符號位,其它31個二進制位表示長度和大小,可以表示-2的31次方~2的31次方-1范圍內的所有整數。 | INT | INTEGER | INT |
| bigint | bigint存儲在8個字節中,其中一個二進制位表示符號位,其它63個二進制位表示長度和大小,可以表示-2的63次方~2的63次方-1范圍內的所有整數。 | BIGINT | BIGINT | NUMBER | |
| smallint | smallint類型的數據占用了兩個字節的存儲空間,其中一個二進制位表示整數值的正負號,其它15個二進制位表示長度和大小,可以表示-2的15次方~2的15次方-1范圍內的所有整數。 | SMALLINT | SMALLINT | NUMBER | |
| tinyint | tinyint類型的數據占用了一個字節的存儲空間,可以表示0~255范圍內的所有整數。 | TINYINT | TINYINT | NUMBER | |
| real | 可以存儲正的或者負的十進制數值。 | DOUBLE | FLOAT4 | NUMBER | |
| float | 其中為用于存儲float數值尾數的位數(以科學計數法表示),因此可以確定精度和存儲大小。 | FLOAT | FLOAT8 | binary_float | |
| decimal | 帶固定精度和小數位數的數值數據類型。 | DECIMAL | NUMERIC | NUMBER | |
| numeric | 用于存儲零、正負定點數 | DECIMAL | NUMERIC | NUMBER | |
| 日期時間數據類型 | date | 存儲用字符串表示的日期數據。 | DATE | TIMESTAMP | DATE |
| time | 以字符串形式記錄一天的某個時間。 | 不支持(String) | TIME | 不支持 | |
| datetime | 用于存儲時間和日期數據。 | TIMESTAMP | TIMESTAMP | 不支持 | |
| datetime2 | datetime的擴展類型,其數據范圍更大,默認的最小精度最高,并具有可選的用戶定義的精度。 | TIMESTAMP | TIMESTAMP | 不支持 | |
| smalldatetime | smalldatetime類型與datetime類型相似,只是其存儲范圍是從1900年1月1日到2079年6月6日,當日期時間精度較小時,可以使用smalldatetime,該類型數據占用4個字節的存儲空間。 | TIMESTAMP | TIMESTAMP | 不支持 | |
| timestamp | 時間戳數據類型 | TIMESTAMP | TIMESTAMP | TIMESTAMP | |
| datetimeoffset | 用于定義一個采用24小時制與日期相組合并可識別時區的時間。 | 不支持(String) | TIMESTAMP | 不支持 | |
| 多媒體數據類型 (二進制) | text | 用于存儲文本數據。 | 不支持(String) | 不支持(String) | 不支持 |
| netxt | 與text類型作用相同,為長度可變的非Unicode數據。 | 不支持(String) | 不支持(String) | 不支持 | |
| image | 長度可變的二進制數據,用于存儲照片、目錄圖片或者圖畫。 | 不支持(String) | 不支持(String) | 不支持 | |
| binary | 長度為n個字節的固定長度二進制數據,其中n是從1~8000的值。 | 不支持(String) | 不支持(String) | 不支持 | |
| varbinary | 可變長度二進制數據。 | 不支持(String) | 不支持(String) | 不支持 | |
| 貨幣數據類型 | money | 用于存儲貨幣值 | 不支持(String) | 不支持(String) | 不支持 |
| smallmoney | 與money類型相似,輸入數據時在前面加上一個貨幣符號,如人民幣為¥或其它定義的貨幣符號。 | 不支持(String) | 不支持(String) | 不支持 | |
| 位數據類型 | bit | 位數據類型,只取0或1為值,長度1字節。bit值經常當作邏輯值用于判斷true(1)或false(0),輸入非0值時系統將其替換為1。 | 不支持 | 不支持 | 不支持 |
| 其他數據類型 | rowversion | 每個數據都有一個計數器,當對數據庫中包含rowversion列的表執行插入或者更新操作時,該計數器數值就會增加。 | 不支持 | 不支持 | 不支持 |
| uniqueidentifier | 16字節的GUID(Globally Unique Identifier,全球唯一標識符),是Sql Server根據網絡適配器地址和主機CPU時鐘產生的唯一號碼,其中,每個為都是0 |
不支持 | 不支持 | 不支持 | |
| cursor | 游標數據類型。 | 不支持 | 不支持 | 不支持 | |
| sql_variant | 用于存儲除文本,圖形數據和timestamp數據外的其它任何合法的Sql Server數據,可以方便Sql Server的開發工作。 | 不支持 | 不支持 | 不支持 | |
| table | 用于存儲對表或視圖處理后的結果集。 | 不支持 | 不支持 | 不支持 | |
| xml | 存儲xml數據的數據類型。可以在列中或者xml類型的變量中存儲xml實例。存儲的xml數據類型表示實例大小不能超過2GB。 | 不支持 | 不支持 | 不支持 |