數據庫和表說明
數據庫是按照數據結構來組織、存儲和管理數據的建立在計算機存儲設備上的倉庫。
表是數據庫最重要的組成部分之一。表是由行與列組合成的。每一列被當作是一個字段。每個字段中的值代表一種類型的數據。
數據庫是一個框架,表是其實質內容。一個數據庫包含一個或者多個表。
DLI中數據庫的概念、基本用法與Oracle數據庫基本相同,是DLI管理權限的基礎單元,賦權以數據庫為單位。
用戶可通過管理控制臺或SQL語句創建數據庫和表。本章節介紹在管理控制臺創建數據庫和表的操作步驟。
說明View只能通過SQL語句進行創建,不能通過“創建表”頁面進行創建。
注意當OBS的目錄下有同名文件夾和文件時,創建OBS表指向該路徑會優先指向文件而非文件夾。
創建數據庫
1.創建數據庫的入口有兩個,分別在“數據管理”和“SQL編輯器”頁面。
- 在“數據管理”頁面創建數據庫。
a. 在管理控制臺左側,單擊“數據管理”>“庫表管理”。
b. 在庫表管理頁面右上角,單擊“創建數據庫”可創建數據庫。
- 在“SQL編輯器”頁面創建數據庫。
a. 在管理控制臺左側,單擊“SQL編輯器”。
b. 在左側導航欄單擊“數據庫”頁簽右側
可創建數據庫。
2.在“創建數據庫”頁面,參見下表輸入數據庫名稱和描述信息。
詳見下表:參數說明
| 參數名稱 | 描述 | 示例 |
|---|---|---|
| 數據庫名稱 | 數據庫名稱只能包含數字、英文字母和下劃線,但不能是純數字,且不能以下劃線開頭。 數據庫名稱大小寫不敏感且不能為空。 輸入長度不能超過128個字符。 說明 “default”為內置數據庫,不能創建名為“default”的數據庫。 |
DB01 |
| 描述 | 該數據庫的描述。 | - |
3.單擊“確定”,完成數據庫創建。
數據庫創建成功后,您可以在“庫表管理”頁面或者“SQL編輯器”頁面查看和選擇使用對應的數據庫。
創建表
創建表前,請確保已創建數據庫。
- 創建表的入口有兩個,分別在“數據管理”和“SQL編輯器”頁面。
說明此處創建表的方式不支持創建View,HBase(MRS)表、OpenTSDB(MRS)表、DWS表、RDS表和CSS表等跨源連接表。可通過SQL方式創建View和跨源連接表,具體請參考《數據湖探索SQL語法參考》中關于“創建視圖”和“創建跨源連接表”的章節
- 在“數據管理”頁面創建表。
a. 在管理控制臺左側,單擊“數據管理”>“庫表管理”。
b. 在庫表管理頁面中,選擇需要建表的數據庫。在其“操作”欄中,單擊“更多”>“創建表”,可創建當前數據庫下的表。
- 在“SQL編輯器”頁面創建表。
a. 在管理控制臺左側,單擊“SQL編輯器”。
b. 在“SQL編輯器”頁面的左側導航欄單擊“數據庫”頁簽。有兩種方式創建表。
- 鼠標左鍵單擊數據庫名,進入“表”區域,單擊右側
,創建當前數據庫下的表。 - 鼠標左鍵單擊對應數據庫右側的
,在列表菜單中選擇“創建表”,創建當前數據庫下的表。
- 在“創建表”頁面,填寫參數。
- 當數據位置為DLI時,請參見下表填寫相關參數;
- 當數據位置為OBS時,請參見下表填寫相關參數。
詳見下表:通用參數說明
| 參數名稱 | 描述 | 示例 |
|---|---|---|
| 表名稱 | 表名稱只能包含數字、英文字母和下劃線,但不能是純數字,且不能以下劃線開頭。 表名稱大小寫不敏感且不能為空。 表名稱支持包含“**”符號。例如:**test。 輸入長度不能超過128個字符。 |
table01 |
| 數據位置 | 數據存儲位置,當前支持DLI和OBS。 | OBS |
| 描述 | 該表的描述。 | - |
| 列類型 | 選擇為“普通列”或“分區列”。 | 普通列 |
| 列名稱 | 表的列名。列名應至少包含一個字母,并允許下劃線(_),但不支持純數字。 可選擇“普通列”或“分區列”。“分區列”是分區表專用的,對用戶數據進行分區,可提高查詢效率。 說明 列名不區分大小寫,不能相同。 |
name |
| 數據類型 | 與“列名”對應,表示該列的數據類型。 字符串(string):字符串類型。 有符號整數(int):存儲空間為4字節。 日期類型(date):所表示日期的范圍為0000-01-01 to 9999-12-31。 雙精度浮點型(double):存儲空間為8字節。 l 布爾類型(boolean):存儲空間為1字節。 固定有效位數和小數位數的數據類型(decimal):有效位數為1~38之間的正整數,包含1和38;小數位數為小于10的整數。 有符號整數(smallint/short):存儲空間為2字節。 有符號整數(bigint/long):存儲空間為8字節。 時間戳(timestamp):表示日期和時間,可達到小數點后6位。 單精度浮點型(float):存儲空間為4字節。 有符號整數(tinyint):存儲空間為1字節。僅OBS表支持。 |
string |
| 列描述 | 該列的描述。 | - |
| 操作 | 增加列 刪除列 說明 當列數較多時,建議您使用SQL語句創建表,或直接從本地Excel導入列信息。 |
- |
詳見下表: 數據位置為OBS的參數說明
| 參數名稱 | 描述 | 示例 |
|---|---|---|
| 數據格式 | 支持以下數據格式。 Parquet:DLI支持讀取不壓縮、snappy壓縮、gzip壓縮的parquet數據。 CSV:DLI支持讀取不壓縮、gzip壓縮的csv數據。 ORC:DLI支持讀取不壓縮、snappy壓縮的orc數據。 JSON:DLI支持讀取不壓縮、gzip壓縮的json數據。 Carbon:DLI支持讀取不壓縮的carbon數據。 Avro:DLI支持讀取不壓縮的avro數據。 |
CSV |
| 存儲路徑 | 輸入或選擇OBS路徑。路徑可以是文件夾,也可以是路徑。 說明 如果需要將OBS上的數據導入OBS表,則建表路徑必須是文件夾。 建表路徑是文件時,會導致數據導入失敗。 |
obs://obs1/sampledata.csv |
| 表頭:無/有 | 當“數據格式”為“CSV”時,該參數有效。設置導入數據源是否含表頭。 選中“高級選項”,勾選“表頭:無”前的方框,“表頭:無”顯示為“表頭:有”,表示有表頭;去勾選即為“表頭:無”,表示無表頭。 | - |
| 自定義分隔符 | 當“數據格式”為“CSV”,并在自定義分隔符前的方框打勾時,該參數有效。 選中高級選項,支持選擇如下分隔符。 逗號(,) 豎線() 制表符(\t) 其他:輸入自定義分隔符 |
) l 制表符(\t) l 其他:輸入自定義分隔符 |
| 自定義引用字符 | 當“數據格式”為“CSV”,并在自定義引用字符前的方框打勾時,該參數有效。 選中高級選項,支持選擇如下引用字符。 單引號(') 雙引號(") l 其他:輸入自定義引用字符 |
單引號(') |
| 自定義轉義字符 | 當“數據格式”為“CSV”,并在自定義轉義字符前的方框打勾時,該參數有效。 選中高級選項,支持選擇如下轉義字符。 反斜杠() 其他:輸入自定義轉義字符 |
反斜杠() |
| 日期格式 | 當“數據格式”為“CSV”和“JSON”時此參數有效。 選中“高級選項”,該參數表示表中日期的格式,默認格式為“yyyy-MM-dd”。 |
2000-01-01 |
| 時間戳格式 | 當“數據格式”為“CSV”和“JSON”時此參數有效。 選中“高級選項”,該參數表示表中時間戳的格式,默認格式為“yyyy-MM-dd HH:mm:ss”。 |
2000-01-01 09:00:00 |
3.單擊“確定”,完成表創建。
表創建成功后,您可以在“表管理”頁面或者“SQL編輯器”頁面查看和選擇使用對應的表。
4.(可選)DLI表創建完成后,您可以選擇是否直接向該表導入數據。