結構化,半結構化,非結構化資料總結
阿新 • • 發佈:2019-01-07
前言:
- Hive可以將結構化的資料檔案對映為一張資料庫表,並提供類SQL查詢功能。在學習Hive之前 我們先了解下結構化資料,半結構化資料以及非結構化資料的區別。
1.結構化資料
- 結構化的資料是指可以使用關係型資料庫表示和儲存,表現為二維形式的資料。一般特點是:資料以行為單位,一行資料表示一個實體的資訊,每一行資料的屬性是相同的。舉一個例子:
id name age gender
1 lyh 12 male
2 liangyh 13 female
3 liang 18 male
- 所以,結構化的資料的儲存和排列是很有規律的,這對查詢和修改等操作很有幫助。但是,顯然,它的擴充套件性不好(比如,我希望增加一個欄位,怎麼辦?)。
2.半結構化資料
- 半結構化資料是結構化資料的一種形式,它並不符合關係型資料庫或其他資料表的形式關聯起來的資料模型結構,但包含相關標記,用來分隔語義元素以及對記錄和欄位進行分層。因此,它也被稱為自描述的結構。
半結構化資料,屬於同一類實體可以有不同的屬性,即使他們被組合在一起,這些屬性的順序並不重要。
常見的半結構資料有XML和JSON,對於對於兩個XML檔案,第一個可能有
<person>
<name >A</name>
<age>13</age>
<gender>female</gender>
</person>
第二個可能為:
<person>
<name>B</name>
<gender>male</gender>
</person>
- 從上面的例子中,屬性的順序是不重要的,不同的半結構化資料的屬性的個數是不一定一樣的。有些人說半結構化資料是以樹或者圖的資料結構儲存的資料,怎麼理解呢?上面的例子中,標籤是樹的根節點,和標籤是子節點。通過這樣的資料格式,可以自由地表達很多有用的資訊,包括自我描述資訊(元資料)。所以,半結構化資料的擴充套件性是很好的。
3.非結構化資料
- 顧名思義,就是沒有固定結構的資料。各種文件、圖片、視訊/音訊等都屬於非結構化資料。對於這類資料,我們一般直接整體進行儲存,而且一般儲存為二進位制的資料格式。