將CSV 和JSON 檔案用於資料解決方案- Azure
文章推薦指數: 80 %
CSV (逗點分隔值) 檔案常用來以純文字格式交換系統之間的表格式資料。
它們通常包含為資料提供資料行名稱的標頭資料列,但在其他情況下,則被視為半結構化 ...
跳到主要內容
已不再支援此瀏覽器。
請升級至MicrosoftEdge,以利用最新功能、安全性更新和技術支援。
下載MicrosoftEdge
其他資訊
目錄
結束焦點模式
閱讀英文
儲存
目錄
閱讀英文
儲存
Twitter
LinkedIn
Facebook
電子郵件
WeChat
目錄
將CSV和JSON檔案用於資料解決方案
發行項
05/10/2022
10位參與者
此頁面有所助益嗎?
Yes
No
還有其他意見反應嗎?
系統會將意見反應傳送給Microsoft:按下[提交]按鈕,您的意見反應將用來改善Microsoft產品和服務。
隱私權原則。
送出
謝謝。
本文內容
CSV和JSON可能是擷取、交換和儲存非結構化或半結構化資料時最常用的格式。
關於CSV格式
CSV(逗點分隔值)檔案常用來以純文字格式交換系統之間的表格式資料。
它們通常包含為資料提供資料行名稱的標頭資料列,但在其他情況下,則被視為半結構化。
這是因為CSV無法以其原有的格式呈現階層式或關聯式資料。
資料關聯性通常由有外部索引鍵儲存在一或多個檔案之資料行中的多個CSV檔案進行處理,但這些檔案之間的關聯性不會以格式本身表示。
CSV格式的檔案可使用逗點以外的其他分隔符號,例如定位點或空格。
CSV檔案儘管有其限制,但仍是資料交換的常見選擇,因為各種不同的商業、消費者和科學應用程式均加以支援。
例如,資料庫和試算表程式即可匯入和匯出CSV檔案。
同樣地,大部分的批次和資料流資料處理引擎(例如Spark和Hadoop)原本即支援序列化和還原序列化CSV格式的檔案,並提供在讀取時套用結構描述的方式。
這可為您提供對資料進行查詢,和以更有效率的資料格式儲存訊以加速處理的選項,讓您更輕鬆地使用資料。
關於JSON格式
JSON(JavaScript物件標記法)資料會顯示為半結構化格式的索引鍵/值組。
JSON常會拿來與XML比較,因為兩者都能夠以階層格式儲存資料,並將子資料顯示為其父代的內嵌資料。
兩者都具有自我描述能力,並可供常人閱讀,但JSON文件通常小得多,因而廣泛用於線上資料交換,尤其是以REST為基礎的Web服務出現後,更是如此。
JSON格式的檔案有幾項優於CSV的特點:
JSON可維護階層式結構,因此更易於將相關資料保存在單一文件中,並呈現複雜的關聯性。
大部分的程式設計語言皆提供將JSON還原序列化為物件的原生支援,或提供輕量型的JSON序列化程式庫。
JSON支援物件清單,而有助於避免將雜亂的清單轉譯為關聯式資料模型。
JSON是經常用於NoSQL資料庫(例如MongoDB、Couchbase和AzureCosmosDB)的檔案格式。
許多透過網路傳輸的資料原本即為JSON格式,因此大部分以Web為基礎的程式語言原本就支援與JSON搭配使用,或可藉由使用外部程式庫來序列化和還原序列化JSON資料。
這種對於JSON的通用支援,使JSON能夠以邏輯格式運用於資料結構顯示,以交換格式用於熱資料,以及用於冷資料的資料儲存。
許多批次和串流資料處理引擎原本即支援JSON序列化和還原序列化。
雖然JSON文件內包含的資料最終可能儲存為經過效能最佳化的格式(例如Parquet或Avro),但它仍可作為真實來源的原始資料,這在有必要重新處理資料時,是相當重要的。
使用CSV或JSON格式的時機
CSV較常用來匯出和匯入資料,或處理資料以進行分析和機器學習。
JSON格式的檔案具有相同的優點,但較常用於熱資料交換解決方案。
JSON文件常會由Web和行動裝置傳送以執行線上交易、由IoT(物聯網)裝置傳送以進行單向或雙向通訊,或是由用戶端應用程式傳送,與SaaS和PaaS服務或無伺服器架構進行通訊。
CSV和JSON檔案格式都可簡化不同系統與裝置之間的資料交換。
其半結構化格式可提供傳輸絕大多數資料類型的彈性,並提供對於這些格式的通用支援,使其更易於使用。
兩者皆可在已處理的資料以二進位格式儲存時作為真實來源的原始資料,以提高查詢效能。
在Azure中使用CSV和JSON資料
Azure根據您的需求提供了數個使用CSV和JSON檔案的解決方案。
這些檔案主要登陸位置是Azure儲存體或AzureDataLakeStore。
大部分使用這些和其他文字檔案的Azure服務,都會與其中一個物件儲存體服務整合。
但在某些情況下,您也可以選擇直接將資料匯入SQLAzure或其他資料存放區中。
SQLServer具有儲存和處理JSON文件的原生支援,因此可讓您輕鬆地匯入和處理這些類型的檔案。
您可以輕鬆地使用如「SQL大量匯入」之類的公用程式,輕鬆地匯入CSV檔案。
您也可以直接從AzureBlob儲存體查詢JSON檔案,而不需要將其匯入AzureSQL。
如需此方法的完整範例,請參閱使用AzureSQL處理JSON檔案。
目前此選項不適用於CSV檔案。
視情況之不同,您可以執行資料的批次處理或即時處理。
挑戰
在使用這些格式時,將有若干問題需要克服:
在資料模型不受任何限制的情況下,CSV和JSON檔案很容易發生資料損毀(「垃圾進、垃圾出」)。
例如,這兩種檔案都沒有日期/時間物件的概念存在,因此,檔案格式不會阻止您在日期欄位中插入"ABC123"(舉例而言)。
使用CSV和JSON檔案作為冷儲存體解決方案,將無法在處理巨量資料時適當調整。
在大多數的情況下,它們無法切分為資料分割進行平行處理,也無法壓縮為二進位格式。
這常會使這些資料處理並儲存成讀取最佳化格式,例如Parquet和ORC(最佳化資料列單欄式),因而提供與包含的資料有關的索引和內嵌統計資料。
您可能必須對半結構化資料套用結構描述,使其更易於查詢和分析。
為此,您通常需要將資料儲存為其他與環境的資料儲存需求相符的格式,例如儲存在資料庫中。
本文內容
延伸文章資訊
- 1半結構化資料csv在PTT/Dcard完整相關資訊| 小文青生活-2022年5月
結構化資料是什麼? 數據分析前,重新認識你的資料! - Power BI ...2018年4月30日· 二. 半結構化資料Semi-Structured Data. 半結構化資料如CSV、JSO...
- 27.有關半結構化資料(Semi-structured Data)的敘述,下列何者..
有關半結構化資料(Semi-structured Data)的敘述,下列何者正確? (A)一般常用的半結構性資料格式大致可分為CSV、JSON、XML 等三類 (B) CSV 格式被廣泛作為跨系...
- 3將CSV 和JSON 檔案用於資料解決方案- Azure
CSV (逗點分隔值) 檔案常用來以純文字格式交換系統之間的表格式資料。 它們通常包含為資料提供資料行名稱的標頭資料列,但在其他情況下,則被視為半結構化 ...
- 4卸載CSV 或文本格式的半結構化數據- Amazon Redshift
您可以以逗號分隔值(CSV) 或文本格式將包含SUPER 資料列的表卸載到Amazon S3。Amazon Redshift 使用導航和取消子句的組合,以CSV 或文本格式將超級數據格式的分層數...
- 5半結構、非結構化資料 - Coggle
結構化、半結構、非結構化資料 · 結構 · 先有結構,再有資料 · 半結構 · csv json xml · 欄位、可拓展 · 先有資料,再有結構 · 關聯式資料庫.