1. 程式人生 > >RDD 解析Json檔案

RDD 解析Json檔案

1、JSON檔案格式為:

{"key1":{"產地":"南京","外形尺寸":"50*50","型號":"dddd"},"code":"101331569"}

2、程式如下:

public class ExportData {

      public static void main(String[] args) {

                  SparkConf conf = new SparkConf()
                 .setMaster("local[*]")
                 .setAppName("hahhahaha");
                 JavaSparkContext jsc = new JavaSparkContext(conf);

                String atrr = "D:\\aaaa.txt";

               JavaRDD<String> atrrsInput = jsc.textFile(atrr);

               JavaPairRDD<String, String> modelPair = atrrsInput.mapPartitionsToPair(new AtrrsJson()).filter(new Function<Tuple2<String,String>, Boolean>() {
public Boolean call(Tuple2<String, String> tuple) throws Exception {
   return tuple._1.isEmpty() ? false : true;
}
});


     }

}

class AtrrsJson implements PairFlatMapFunction<Iterator<String>, String, String>{
    @Override
    public Iterator<Tuple2<String, String>> call(Iterator<String> lines) throws Exception {
    List<Tuple2<String, String>> resultList=new ArrayList<Tuple2<String, String>>();
        ObjectMapper mapper = new ObjectMapper();
        while(lines.hasNext()){
            String line = lines.next();
            try{
            JsonNode rootNode = mapper.readTree(line);
            String cmmdtyCode = rootNode.path("code").textValue();
            JsonNode rootNode2 = rootNode.get("key1");
            String model = rootNode2.path("型號").asText();
            resultList.add(new Tuple2<String, String>(cmmdtyCode, model));
            }catch(Exception e){
            resultList.add(new Tuple2<String, String>("", ""));
            }       
        }
        Iterator<Tuple2<String, String>> result = resultList.iterator();
        return result;
    }


}

相關推薦

RDD 解析Json檔案

1、JSON檔案格式為: {"key1":{"產地":"南京","外形尺寸":"50*50","型號":"dddd"},"code":"101331569"} 2、程式如下: public class ExportData {       public static voi

java解析json檔案(省,市,區)

[{"code":"11","name":"北京市"},{"code":"12","name":"天津市"},{"code":"13","name":"河北省"},{"code":"14","name":"山西省"},{"code":"15","name":"內蒙古自治區"},{"code":"21","na

關於Qt中QJsonObject、QJsonArray生成與解析JSON檔案

使用QJsonArray寫檔案:   QString fileName = ":load.json";     QFile srcFile(fileName);     if(!srcFile.open(QFile::ReadWrite)){ &

Unity 用C#指令碼從Web伺服器獲取、解析Json檔案資料

需要在Plugins檔案下,匯入LitJson檔案。 (LitJson檔案) 連結:https://pan.baidu.com/s/1sSEPGbUm6tn7Y8huQm5v_w 密碼:5fzr 指令碼:using System.Collections; usin

c++解析json檔案: Rapidjson

json檔案用來當配置檔案很好用,很輕便。但是試過好幾個c++的json庫,有些編譯特別麻煩。 Rapidjson的使用很簡單,新增幾個標頭檔案就行了,而且跨平臺,速度快。 JSON檔案: [ { "bank_name" : "BOA", "chain_

python解析json檔案回顧(load/loads)

example.json檔案如下 { "page": "user", "uri": "/userinfo", "elements": [ { "var_name":

用jsoncpp 開源庫, 解析json檔案

轉載地址: https://blog.csdn.net/yc461515457/article/details/52749575 https://blog.csdn.net/u012372584/article/details/78901015 JSON(Jav

C#解析json檔案的方法

C# 解析 json   JSON(全稱為JavaScript Object Notation) 是一種輕量級的資料交換格式。它是基於JavaScript語法標準的一個子集。 JSON採用完全獨立於語言的文字格式,可以很容易在各種網路、平臺和程式之間傳輸。JS

使用C++語言來解析json檔案

關於JSON的具體資訊,可以參考http://www.json.org/json-zh.htmlJSON官網的中文頁面。 JSON(JavaScript Object Notation)相比於廣為人知的XML,它是一種輕量級的資料交換格式。 對於需要清晰的定義交換資料間相互關係、需要在網路上

vs2013 c++ 編譯配置jsoncpp和使用jsoncpp解析json檔案

 右上角有這個下載按鈕——點選後 再點選Download ZIP就直接下載了,然後解壓; 解壓後找到這個目錄下的jsoncpp.sln用vs2013開啟編譯 編譯完成後生成lib_json.lib 我們找打解壓目錄下的include這個資料夾將它和lib_j

使用jquery解析json檔案

有時需要使用jquery去解析對於本地的json檔案並使用。 假設有這樣一個json檔案: { "gift_list": [ { "gift_id": "44", "title":

利用jackson解析json檔案

需求:將json檔案轉為java中的map File json = new File("/home/lstOrderBaseInfo.json"); ObjectMapper mapper = new

python解析json檔案

最近專案資料用的是json格式,學習了一下python解析json格式的方式,總結一下備忘。 文章參考連結: http://liuzhijun.iteye.com/blog/1859857 http://www.cnblogs.com/coser/arch

stm32使用cjson檔案解析json檔案,分配記憶體宕機問題解決方案

使用乙太網從伺服器上拉取json字串,接收之後進行解析,但是cjson的包在使用malloc和free的時候經常出現問題,在研究stm32的記憶體分配問題之後,網上很多說是要自己寫記憶體管理,但是實際使用會產生很多問題,但是檢視手冊發現stm32F407本身已經有192kb的

使用Promise.resolve()方法解析json檔案

有時需要將現有物件轉為 Promise 物件,Promise.resolve方法就起到這個作用。const jsPromise =Promise.resolve($.ajax('/whatever.json'));上面程式碼將 jQuery 生成的deferred物件,轉為一

python爬蟲 如何解析json檔案 json檔案解析提取和jsonpath的應用

這是通過抓包工具抓取到的json檔案然後json檔案線上解析,把內容複製貼上進去解析得出下面的內容(右邊框內)json檔案的地址url="http://www.lagou.com/lbs/getAllCitySearchLabels.json"用python來解析 並提取出其

Java解析json檔案的方法--直接拷貝可以使用

import java.util.ArrayList; import java.util.Iterator; import java.util.List; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class

java實現json檔案的讀取和解析

<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId>

簡單使用Gson解析SDcard中的Json檔案

File file = new File(Environment.getExternalStorageDirectory(),"news.json"); try { FileInputStream fileInputStream = new FileInputStream(file

[Xcode10 實際操作]七、檔案與資料-(17)解析JSON文件

本文將演示如何解析JSON文件。 專案中已新增一份JSON文件:menu.json 1 { 2 "menu": 3 { 4 "id": "file", 5 "value": "File", 6 "menuitem"