結(jié)構(gòu)化數(shù)據(jù)
結(jié)構(gòu)化的數(shù)據(jù)是指可以使用關(guān)系型數(shù)據(jù)庫表示和存儲裆悄,表現(xiàn)為二維形式的數(shù)據(jù)矛纹。一般特點是:數(shù)據(jù)以行為單位,一行數(shù)據(jù)表示一個實體的信息光稼,每一行數(shù)據(jù)的屬性是相同的或南。舉一個例子:
id name ? ? age ? gender
1 ? lyh ? ? ? ? ?12 ? ? male
?2 ?liangyh ? ?13 ? ?female
3 ? liang ? ? ? ?18 ? ?male
半結(jié)構(gòu)化數(shù)據(jù)
半結(jié)構(gòu)化數(shù)據(jù)是結(jié)構(gòu)化數(shù)據(jù)的一種形式,它并不符合關(guān)系型數(shù)據(jù)庫或其他數(shù)據(jù)表的形式關(guān)聯(lián)起來的數(shù)據(jù)模型結(jié)構(gòu)艾君,但包含相關(guān)標(biāo)記采够,用來分隔語義元素以及對記錄和字段進(jìn)行分層。因此冰垄,它也被稱為自描述的結(jié)構(gòu)蹬癌。
半結(jié)構(gòu)化數(shù)據(jù),屬于同一類實體可以有不同的屬性播演,即使他們被組合在一起冀瓦,這些屬性的順序并不重要。
常見的半結(jié)構(gòu)數(shù)據(jù)有XML和JSON写烤,對于對于兩個XML文件,第一個可能有
<person>
? ??<name>A</name>
????<age>12</age>
? ? <gender>FEMAL</gender>
</person>
第二個:
? ?<person>
? ? ? ? <name>B</name>
? ? ? ? <age>13</age>
</person>
從上面的例子中拾徙,屬性的順序是不重要的洲炊,不同的半結(jié)構(gòu)化數(shù)據(jù)的屬性的個數(shù)是不一定一樣的。有些人說半結(jié)構(gòu)化數(shù)據(jù)是以樹或者圖的數(shù)據(jù)結(jié)構(gòu)存儲的數(shù)據(jù),怎么理解呢暂衡?上面的例子中询微,標(biāo)簽是樹的根節(jié)點,和標(biāo)簽是子節(jié)點狂巢。通過這樣的數(shù)據(jù)格式撑毛,可以自由地表達(dá)很多有用的信息,包括自我描述信息(元數(shù)據(jù))唧领。所以藻雌,半結(jié)構(gòu)化數(shù)據(jù)的擴(kuò)展性是很好的。
非結(jié)構(gòu)化數(shù)據(jù)
顧名思義斩个,就是沒有固定結(jié)構(gòu)的數(shù)據(jù)胯杭。各種文檔、圖片受啥、視頻/音頻等都屬于非結(jié)構(gòu)化數(shù)據(jù)做个。對于這類數(shù)據(jù),我們一般直接整體進(jìn)行存儲滚局,而且一般存儲為二進(jìn)制的數(shù)據(jù)格式居暖。
關(guān)系型數(shù)據(jù)庫:只能存儲結(jié)構(gòu)性數(shù)據(jù),
hive:可以存儲結(jié)構(gòu)性數(shù)據(jù)藤肢,與半結(jié)構(gòu)性數(shù)據(jù)太闺;