Kettle Json Input詳解

一、Json Input的介紹

Kettle (Pentaho Data Integration (PDI)) 是一種商業領域下的 Open Source 的 ETL 工具,支持多種數據格式的存取轉換,其中一種數據源是Json文件,由此而生的Json Input 是指可輸入Json數據的輸入組件。Json的數據格式具有極大的靈活性,不受數據源的限制,允許用戶在各種數據格式中進行數據處理,因此Json Input的重要性也日益突顯。

在Pentaho官網可以找到完整的PDI安裝包以及json input的相關說明文檔。

二、Json Input的配置與使用

通過打開Kettle軟體中的工具菜單欄,選擇Json Input組件,將組件拖入轉換工程中的工具欄,然後就可以開始配置了。Json Input 的配置主要分為兩個方面:

1、數據源配置

Json Input 數據源的配置包括文件路徑、源文件名和數據格式三個方面,代碼如下:

{
  "fileName": "/path/demo.json",
  "jsonFieldName": "JsonField",
  "jsonPath": [ "/name", "/id", "/address" ],
  "encoding": "UTF-8",
  "includeFilename": "N",
  "rowsLimit": 0,
  "dateFormatLenient": "Y",
  "dateFormatLocale": "",
  "dateFormatTimeZone": ""
}

上述代碼中,fileName 代表數據文件路徑,jsonFieldName 表示欄位名,jsonPath 則代表需要獲取的數據節點,encoding 則是文件編碼,中括弧中的 JsonPath 表示需要抽取的關鍵節點,如上句代碼中示例的 /name 代表獲取 JSON 中的名稱欄位,/id 則代表獲取 JSON 中的 ID欄位,/address 代表獲取 JSON 中的地址欄位,可以通過逗號隔開從而提取出多個欄位。

2、目標源配置

如同其他輸入組件,Json Input在輸出方面也存在兩種選擇:文件輸出和資料庫輸出。關於文件輸出方面的代碼如下:

{
  "targetFile": "/path/demo.txt",
  "createParentFolder": true,
  "append": false,
  "gzip": false,
  "escapeChr": "",
  "enclosure": "\"",
  "delimiter": ";",
  "headerEnabled": true,
  "format": "DOS",
  "enclosureForced": true,
  "endLine": "\n",
  "fields": [
            {
              "header": "Name",
              "jsonPath": "/name",
              "type": "String",
              "length": 255,
              "precision": -1,
              "dateFormat": "",
              "default": "",
              "nullString": "",
              "currencySymbol": "",
              "decimalSymbol": "",
              "groupingSymbol": ""
            },
            {
              "header": "Id",
              "jsonPath": "/id",
              "type": "Number",
              "length": -1,
              "precision": -1,
              "dateFormat": "",
              "default": "",
              "nullString": "",
              "currencySymbol": "",
              "decimalSymbol": ".",
              "groupingSymbol": ","
            },
            {
              "header": "Address",
              "jsonPath": "/address",
              "type": "String",
              "length": 255,
              "precision": -1,
              "dateFormat": "",
              "default": "",
              "nullString": "",
              "currencySymbol": "",
              "decimalSymbol": "",
              "groupingSymbol": ""
            }
  ]
}

上述代碼中,targetFile 代表輸出的目標文件路徑,createParentFolder 是否創建父文件夾,fields 代表需要導出的欄位配置,type 代表欄位的數據類型。

三、Json Input在實際開發中的應用

Json Input 的應用非常廣泛,主要可以應用在數據分析和數據處理兩個模塊中。

1、數據分析

Json Input可以實時對互聯網中的 Json 數據文本進行解析,進而將數據轉化為Kettle支持的格式,從而對數據進行進一步實際分析,以便大量的工具軟體和演算法庫更方便地處理這些數據。

2、數據處理

Json Input同樣在大量數據的處理中處於不可替代的地位。可以將各種數據源進行Json化後,通過Json Input組件完成對數據的提取、轉換和載入,可以提高數據整合的工作效率,而且能夠大幅度降低開發成本。

總結

Json數據格式的靈活性、大數據源、高效性以及廣泛適用性,是Json Input組件在實際開發中得以廣泛應用的基礎。本文就Json Input的配置、應用在實際生產和數據分析中的優勢做了較為詳盡的闡述,能夠對大家掌握Pentaho Data Integration (PDI)的 Json Input組件有很好提升。

原創文章,作者:FHJRM,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/362652.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
FHJRM的頭像FHJRM
上一篇 2025-02-27 19:28
下一篇 2025-02-27 19:28

相關推薦

  • Python input參數變數用法介紹

    本文將從多個方面對Python input括弧里參數變數進行闡述與詳解,並提供相應的代碼示例。 一、基本介紹 Python input()函數用於獲取用戶輸入。當程序運行到inpu…

    編程 2025-04-29
  • JSON的MD5

    在Web開發過程中,JSON(JavaScript Object Notation)是最常用的數據格式之一。MD5(Message-Digest Algorithm 5)是一種常用…

    編程 2025-04-29
  • 使用Java將JSON寫入HDFS

    本篇文章將從以下幾個方面詳細闡述Java將JSON寫入HDFS的方法: 一、HDFS簡介 首先,先來了解一下Hadoop分散式文件系統(HDFS)。HDFS是一個可擴展性高的分散式…

    編程 2025-04-29
  • 如何使用Newtonsoft datatable轉Json

    Newtonsoft DataTable 是一個基於.NET的JSON框架,也是一個用於序列化和反序列化JSON的強大工具。 在本文中,我們將學習如何使用Newtonsoft Da…

    編程 2025-04-28
  • JPRC – 輕鬆創建可讀性強的 JSON API

    本文將介紹一個全新的 JSON API 框架 JPRC,通過該框架,您可以輕鬆創建可讀性強的 JSON API,提高您的項目開發效率和代碼可維護性。接下來將從以下幾個方面對 JPR…

    編程 2025-04-27
  • input代碼中代表什麼

    在web開發中,input是最基礎的輸入控制項之一,常用來收集用戶的數據並提交至伺服器進行處理。本文將從多個方面詳細闡述input代碼中代表什麼。 一、type屬性 在HTML中,i…

    編程 2025-04-27
  • Python input列表

    本文將從多個角度詳細介紹Python怎麼input列表。 一、基礎概念 Python中的列表是一種有序的數據序列,可以包含任意類型的數據。當我們需要從用戶獲取一組數據時,可以使用i…

    編程 2025-04-27
  • Python用input賦值用法介紹

    本文將從多個方面詳細闡述Python中如何使用input函數來賦值,以幫助讀者更好的理解和應用該函數。 一、基礎使用 1、input函數的作用是從鍵盤輸入一行文本,並返回一個字元串…

    編程 2025-04-27
  • Python存為JSON的方法及實例

    本文將從以下多個方面對Python存為JSON做詳細的闡述。 一、JSON簡介 JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易於人閱…

    編程 2025-04-27
  • 使用Python獲取JSON並解析

    本文將介紹如何使用Python獲取JSON數據並解析相關內容。通過使用Python的第三方庫,我們可以輕鬆地處理JSON數據,包括讀取、提取和操作JSON數據。 一、獲取JSON數…

    編程 2025-04-27

發表回復

登錄後才能評論