1. 結構化數據 1.1. 結構化數據是數據湖倉中最常見的基礎數據之一 1.1.1. 是技術領域中最早出現的數據環境之一 1.2. 每條記錄的結構都是相同的,即便不同記錄中的內容可能不同,但數據的基本佈局完全一樣 1.3. 結構化數據環境都經過了優化,電腦能以最優的方式處理結構化數據 1.4. 很 ...
1. 結構化數據
1.1. 結構化數據是數據湖倉中最常見的基礎數據之一
- 1.1.1. 是技術領域中最早出現的數據環境之一
1.2. 每條記錄的結構都是相同的,即便不同記錄中的內容可能不同,但數據的基本佈局完全一樣
1.3. 結構化數據環境都經過了優化,電腦能以最優的方式處理結構化數據
1.4. 很多業務活動都會生成結構化記錄,這些結構化記錄類似於業務活動的日誌
1.5. 結構化記錄的設計非常嚴格
1.6. 結構化數據是基礎數據的重要組成部分
1.7. 鍵
-
1.7.1. 結構化記錄中的鍵可以是唯一的,也可以是不唯一的
-
1.7.2. 鍵在資料庫中以索引的形式存在,能夠協助高效地直接訪問數據
-
1.7.3. 如果沒有索引,電腦在檢索特定記錄時,就必須執行低效且複雜的順序查找(Sequential Search),即逐條檢索資料庫中的所有數據
-
1.7.4. 有了索引以後,通過結構化記錄上的索引,就可以直接訪問特定記錄
-
1.7.5. 隨著記錄在電腦中不斷累積,結構化記錄會被寫入表或資料庫中
-
1.7.6. 在構建包含結構化數據環境的基礎數據時,將結構化數據抽象為數據模型是至關重要的
-
1.7.7. 數據模型和實際的結構化數據一樣,都應該是可用的
1.8. 聯機事務處理
-
1.8.1. 直接訪問資料庫中結構化數據的主要優勢之一是能夠進行聯機事務處理(Online Transaction Processing,OLTP)
-
1.8.1.1. 自動提款機(Automated Teller Machine,ATM)
-
1.8.1.2. 銀行櫃員處理和預訂系統
-
1.8.2. OLTP的核心是快速、持續地運行事務
-
1.8.2.1. 系統的可用性也是一個關鍵因素
-
1.8.2.2. 如果系統宕機,組織將無法正常開展業務
-
1.8.3. OLTP系統遵循的準則是系統以最慢的速度進行交易,以確保每個事務使用最少的資源
-
1.8.4. OLTP賦予了組織一個重要的能力,即能夠通過電腦使組織從繁瑣的工作中解脫出來
-
1.8.5. 在OLTP中,緊急備份和恢復處理功能是必要的
-
1.8.6. 如果一個事務在OLTP作業流處理過程中出現問題,那麼確保出現問題的事務不會破壞系統所使用的數據則非常重要
-
1.8.7. 當事務可以線上更新數據時,必須防止另一個事務在同一時間更新相同的數據
-
1.8.8. 多個事務同時對相同數據進行操作會產生衝突,從而破壞數據的完整性
1.9. 組織數據
- 1.9.1. 數據倉庫的要求是將各個應用程式的數據集成到組織數據視圖中,以提高數據的完整性
2. 文本數據
2.1. 文本數據是最有用的數據類型之一
- 2.1.1. 目前我們仍未充分利用它
2.2. 文本數據的呈現方式
-
2.2.1. 純文本文件
-
2.2.2. Word文件
-
2.2.3. PDF文件
-
2.2.4. HTML網頁
-
2.2.5. JSON文件
-
2.2.6. XML文件
-
2.2.7. 手稿
-
2.2.8. 電子郵件
-
2.2.9. 網站評論
-
2.2.10. 博客
-
2.2.11. Excel單元格中的文本塊等
2.3. 儘管許多轉錄軟體產品和OCR產品並不完美,但它們在將音頻文件和圖片文件轉換為可用的文本數據方面還是表現不錯的
2.4. 文本數據往往都是不完整的且缺乏預定義的形式,同時大多數組織還將文本數據與數字數據、圖片和細節混合存儲,這進一步增加了人們的困惑
2.5. 文本數據之所以有價值,是因為我們能夠提取有用的數據片段併為其添加上下文情境,從而通過分類、圖表或相關性對其進行解釋
2.6. 使用文本數據時的語言障礙
-
2.6.1. 文本數據的形式極為複雜,處理起來也極其困難
-
2.6.2. 全世界存在不少於7組主要字元構成的單詞和文本數據
-
2.6.2.1. 包括美國字母表、多個阿拉伯字元集、俄語字母和希伯來字母表等
-
2.6.3. 當前全球有超過7100種語言,其中23種屬於主要語言,全世界約80%的人口使用其中10種最主流的語言之一進行交流
-
2.6.4. 目前文本數據沒有被廣泛使用的另一個原因是大多數人都不知道如何說好自己的語言
-
2.6.4.1. 人們傾向於使用快捷說法、俚語以及不夠規範的動詞、名詞和形容詞
2.7. 多義詞
-
2.7.1. 不使用文本數據的理由還有一個,那就是每個詞語在不同的上下文情境中可能具有多種含義
-
2.7.2. 同一個詞語可能因句子中其他詞語的不同而具有完全不同的含義
2.8. 提取業務的含義
-
2.8.1. 手動提取需要讓每位從事這項工作的員工接受相關培訓,使其理解文本中蘊含的語義
-
2.8.1.1. 手動提取過程相對枯燥乏味,而且提取效果也因人而異
-
2.8.2. 文本ETL(Extract-Transform-Load)
-
2.8.3. 文本數據提取結果並不算完美
-
2.8.4. 情感體現了對某一產品或情形的感受
-
2.8.4.1. 情感不是一門精確的科學
-
2.8.5. 自然語言處理(Natural Language Processing,NLP)能夠依據句子中的其他詞語來標記詞語
-
2.8.5.1. NLP作為一門科學,與其說是關於文本提取的,不如將其理解為基於標記、演算法、人類假設和龐大測試數據集的文本預測
-
2.8.6. 提取文本數據時需要上下文情境
-
2.8.6.1. 在不降低結果質量的情況下,完成這種類型的文本數據提取所需要的時間和資源也會大大減少
2.9. 如果想要將文本數據轉化為可用的數據源,就需要完成3個主要的數據清理步驟
-
2.9.1. 需要從數據源中提取文本數據並檢索文本內容
-
2.9.2. 需要將數據轉換為可與其他數據共同使用的格式
-
2.9.3. 需要將轉換後的數據載入到待解決業務問題的結構中
3. 模擬/物聯網數據
3.1. 機器生成的模擬/物聯網數據
-
3.1.1. 機器生成的數據是由機器操作所生成的,當機器運行時,會生成遙測數據以度量機器的工作
-
3.1.2. 機器可以通過多種途徑生成數據,例如通過攝像頭、熱感測器、壓力感測器等
-
3.1.3. 在機器生成數據時,還會記錄許多其他參數
3.2. 當機器生成數據時,這些數據就會被保存到某種存儲設備中
-
3.2.1. 工業設備,如泵或車床
-
3.2.2. 用於監視的攝像頭
-
3.2.3. 手錶
-
3.2.4. 無人機
-
3.2.5. 車輛
-
3.2.6. 當我們把有用的數據和無用的數據分開後,就可以把無用數據存入大容量存儲器,之後如果需要的話,無用數據也仍然能被檢索到
-
3.2.6.1. 節省了存儲成本,因為大容量存儲器更便宜
-
3.2.6.2. 處理數據所需時間更少
-
3.2.6.3. 更易於數據分析
-
3.2.7. 如果機器生成數據的環境構建得當,基礎數據就會進一步固化
3.3. 數據有用性的差異
-
3.3.1. 大多數數據對企業等組織的業務來說並沒有價值
-
3.3.2. 機器通常無法區分有用數據和無用數據,只是在不斷地運行並生成數據
-
3.3.3. 機器生成的大部分數據都是糟粕數據(Dross Data)
-
3.3.3.1. 糟粕數據是準確的數據,它反映了機器的運行情況
-
3.3.3.2. 對企業等組織的業務來說是無用的
-
3.3.3.3. 只有非糟粕的數據才是有用的數據
3.4. 攝像頭
-
3.4.1. 雖然車輛被破壞時所拍攝的照片數量相對較少,不到所有已拍攝照片的萬分之一,但卻是非常重要的
-
3.4.2. 對停車場來說,沒有必要保留那些沒有任何意義的照片,拍攝日常活動是沒有任何價值的
-
3.4.3. 存儲那些不重要的照片既昂貴又浪費資源,但是存儲那些重要的照片是很有價值的
-
3.4.4. 機器拍攝停車場照片的模式通常是無用的,只會在機器生成數據的世界中一次又一次地重覆
-
3.4.5. 幾乎所有的機器都會遇到記錄數據有用性方面的差異
-
3.4.6. 管理機器生成的數據則是需要從無用數據中蒸餾出有用的數據
3.5. 人工審視
-
3.5.1. 要想從無用數據中蒸餾出有用的數據,最原始的方法是通過人工審視數據
-
3.5.2. 蒸餾數據的方法雖然有效,但卻相對粗暴,因為這意味著必須有人連續觀看數小時的視頻(或以其他方式查看收集的數據),才能獲得幾秒或幾條有用的記錄
-
3.5.3. 如果不小心錯過視頻中的重要部分,那麼這一關鍵信息可能永遠無法被髮現
-
3.5.4. 唯一的好消息是,雖然這種人工方法痛苦而粗暴,但卻總是有效的
-
3.5.5. 不建議使用此方法,除非沒有其他更好的方法去訪問和蒸餾機器生成的數據
3.6. 日期分隔
-
3.6.1. 按日期分隔數據
-
3.6.2. 手動蒸餾模擬/物聯網數據是始終可用的,這樣總比什麼都沒有好
3.7. 數據篩選
-
3.7.1. 篩選出可能需要的數據也是一種非常實用的方法,可以將不太可能需要的數據發送到大容量存儲器,而將很有可能需要的數據發送到高性能存儲器
-
3.7.2. 部分不需要的數據仍然會存儲在高性能存儲器中,這也是處理機器生成的數據所必須付出的代價
3.8. 閾值方法
-
3.8.1. 當數據進入高性能存儲器後,超過閾值的數據記錄立刻就顯而易見了,而其餘的數據則會被髮送到大容量存儲器中
-
3.8.2. 閾值方法的問題在於必須設置一個閾值
-
3.8.2.1. 如果閾值設置得太低,那麼分析人員將可能錯過重要的數據
-
3.8.2.2. 如果閾值設置得太高,分析人員可能將一些不必要的數據存儲到高性能存儲器中
-
3.8.3. 由於閾值方法能夠節省大量的空間和時間,因此如果可能的話,應該優先考慮使用閾值方法
3.9. 時間排序方法
-
3.9.1. 蒸餾機器生成數據的另一種方法是時間排序方法
-
3.9.2. 在時間排序方法中,我們需要確定哪些時間段更有可能保存重要的數據
-
3.9.2.1. 決定不保留晚上8:00到早上5:00的監控數據,因為在這個時間段停車場通常沒人
-
3.9.2.2. 在正常情況下,停車場在特定時間內是沒有汽車的
-
3.9.2.3. 但也可能出現其他罕見的情況