プレフィックス付きのK、Vデータを解析するための最良のスキーム

アンマッド

私はJavaを使用して以下のデータストリームを解析しています。私が現在行っているのは、行ごとに読み取り、kvタグの下のキーと値からオブジェクトを解析して入力することです。

以下は私が解析しているデータの一部です。各レコードは「kv」キーワードで囲まれ、値「prefix」のキーは、新しいkv値が異なるプレフィックス値で到着するまで、すべての今後のキーに「CURRENT」プレフィックスを付ける必要があることを指定します初期化。

kv {
  key "prefix"
  str_value "prefix1"
}
kv {
  key "init"              //Actually it is prefix1:init
  int_value 1        
}
kv {
  key "index"             //Actually it is prefix1:index
  int_value 3
}
kv {
  key "prefix"
  str_value "prefix2"
}
kv {
  key "init"          //Actually key is prefix2:init
  int_value 1
}
kv {
  key "index"        //Actually key is prefix2:index
  int_value 6
}
kv {
  key "name"
  int_value 7
}
kv {
  key "prefix"
  str_value "prefix3/"
}
kv {
  key "index"
  int_value 8
}
kv {
  key "prefix"
  str_value "prefix1"
}
kv {
  key "index"
  int_value 7
}

そのようなデータを処理し、RedisのようなnoSQL DBに永続化できるJavaオブジェクトにK、Vペアを入力するより良い方法はありますか?

サジーブ

useDelimiterオプション付きのスキャナーを使用できます。レコードの内容がファイルinputt.txtにあることを前提としたサンプルコードを追加しました。

データ

            kv {
          key "prefix"
          str_value "prefix1"
        }
        kv {
          key "init"
          int_value 1        
        }
        kv {
          key "index"
          int_value 3
        }
        kv {
          key "prefix"
          str_value "prefix2"
        }
        kv {
          key "init"   
          int_value 1
        }
        kv {
          key "index"   
          int_value 6
        }
        kv {
          key "name"
          int_value 7
        }
        kv {
          key "prefix"
          str_value "prefix3/"
        }
        kv {
          key "index"
          int_value 8
        }
        kv {
          key "prefix"
          str_value "prefix1"
        }
        kv {
          key "index"
          int_value 7
        }       

コード

 public static void main(String[] args) throws FileNotFoundException {
    String file = "inputt.txt";
    Scanner scan = new Scanner(new File(file)).useDelimiter("\\s+");
    /** One segment of record as parsed by scanner.
    TOKENS                  Index
    kv                      0
    {                       1
    key                     2
    "prefix"                3
    str_value               4
    "prefix1"               5
    }                       6
    */
    int tokenCount=0;
    int index1=3; 
    int index2=5;
    while (scan.hasNext()) {
       String str=scan.next();
       if(tokenCount%7==index1){
           System.out.print(str);
       }   
       if(tokenCount%7==index2){
           System.out.println("  "+str);
       }
       tokenCount++;
    }
    scan.close();
 }

出力

"prefix"  "prefix1"
"init"  1
"index"  3
"prefix"  "prefix2"
"init"  1
"index"  6
"name"  7
"prefix"  "prefix3/"
"index"  8
"prefix"  "prefix1"
"index"  7

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

MySQLにタイムスタンプ付きの大量のデータを保存するための最良の方法

分類Dev

MySQLにタイムスタンプ付きの大量のデータを保存するための最良の方法

分類Dev

観察不可能なデータをReactステートレスコンポーネント(フック付き)に保存するための最良の方法

分類Dev

Rのデータフレームの列のクラスを変更するための最良の方法

分類Dev

ディスクフレームをCSVに書き込むための最良の方法は何ですか?

分類Dev

Django、空のテキストフィールドのHTMLでイタリックをレンダリングするための最良の方法

分類Dev

Laravel5.5でプレフィックス付きのグループルートを書くための最良の方法

分類Dev

大きなパンダのデータフレームをSQLデータベースに送信するための最良の方法は?

分類Dev

Python Sparkデータフレーム:グループをテキストファイルにエクスポートするためのより良い方法

分類Dev

スケジュールするための最良の方法|| MarkLogicデータハブフロー/カスタムステップを自動化する

分類Dev

複数行のテキストフィールドからデータを投稿するときに新しい行を保持するための最良の方法

分類Dev

Pythonデータフレームの年次日付でギャップを埋める最良の方法

分類Dev

データフレームにインデックスを付けるためのより良い方法はありますか?

分類Dev

ディレクトリを.zipファイルとしてエクスポートするための最良のAWSストレージオプション?

分類Dev

カスタムテンプレートを使用してSPAを構築するための最良のJavascriptフレームワーク

分類Dev

カスタム形式でデータを解析するためのグッドプラクティス

分類Dev

データベースに日付を保存するための最良の方法

分類Dev

フル品質のリモートデスクトップを実現するための最良の方法は?

分類Dev

一時停止したビデオフレームをキャンバスにキャプチャするための最良の方法

分類Dev

大量のデータを処理するための最良のJavaMVCフレームワーク

分類Dev

フラットバッファスキーマを操作するための最良のIDEおよび/またはエディタ

分類Dev

Webアプリからボットフレームワークにコンテキスト情報を渡すための最良の方法は何ですか

分類Dev

グループカウントをpythonpandasデータフレームに追加するための最良の方法

分類Dev

Angular5でサービスからリアクティブフォームにデータを取得するための最良の方法

分類Dev

ダイナミックデータフレームとして読み取ることなく、AWSグルーでS3からcsvおよびテキストファイルを読み取るための最良の方法は何ですか?

分類Dev

ネストされたJSONデータをデータフレームまたは辞書にインポートするための最良の方法は?

分類Dev

事前に入力されたレルムデータベースを構築するための最良の方法

分類Dev

カスタムFiltersyntaxを解析するための最良の方法

分類Dev

前または次の行にインデックスを付けるときに、データフレームの行ループを回避できますか?

Related 関連記事

  1. 1

    MySQLにタイムスタンプ付きの大量のデータを保存するための最良の方法

  2. 2

    MySQLにタイムスタンプ付きの大量のデータを保存するための最良の方法

  3. 3

    観察不可能なデータをReactステートレスコンポーネント(フック付き)に保存するための最良の方法

  4. 4

    Rのデータフレームの列のクラスを変更するための最良の方法

  5. 5

    ディスクフレームをCSVに書き込むための最良の方法は何ですか?

  6. 6

    Django、空のテキストフィールドのHTMLでイタリックをレンダリングするための最良の方法

  7. 7

    Laravel5.5でプレフィックス付きのグループルートを書くための最良の方法

  8. 8

    大きなパンダのデータフレームをSQLデータベースに送信するための最良の方法は?

  9. 9

    Python Sparkデータフレーム:グループをテキストファイルにエクスポートするためのより良い方法

  10. 10

    スケジュールするための最良の方法|| MarkLogicデータハブフロー/カスタムステップを自動化する

  11. 11

    複数行のテキストフィールドからデータを投稿するときに新しい行を保持するための最良の方法

  12. 12

    Pythonデータフレームの年次日付でギャップを埋める最良の方法

  13. 13

    データフレームにインデックスを付けるためのより良い方法はありますか?

  14. 14

    ディレクトリを.zipファイルとしてエクスポートするための最良のAWSストレージオプション?

  15. 15

    カスタムテンプレートを使用してSPAを構築するための最良のJavascriptフレームワーク

  16. 16

    カスタム形式でデータを解析するためのグッドプラクティス

  17. 17

    データベースに日付を保存するための最良の方法

  18. 18

    フル品質のリモートデスクトップを実現するための最良の方法は?

  19. 19

    一時停止したビデオフレームをキャンバスにキャプチャするための最良の方法

  20. 20

    大量のデータを処理するための最良のJavaMVCフレームワーク

  21. 21

    フラットバッファスキーマを操作するための最良のIDEおよび/またはエディタ

  22. 22

    Webアプリからボットフレームワークにコンテキスト情報を渡すための最良の方法は何ですか

  23. 23

    グループカウントをpythonpandasデータフレームに追加するための最良の方法

  24. 24

    Angular5でサービスからリアクティブフォームにデータを取得するための最良の方法

  25. 25

    ダイナミックデータフレームとして読み取ることなく、AWSグルーでS3からcsvおよびテキストファイルを読み取るための最良の方法は何ですか?

  26. 26

    ネストされたJSONデータをデータフレームまたは辞書にインポートするための最良の方法は?

  27. 27

    事前に入力されたレルムデータベースを構築するための最良の方法

  28. 28

    カスタムFiltersyntaxを解析するための最良の方法

  29. 29

    前または次の行にインデックスを付けるときに、データフレームの行ループを回避できますか?

ホットタグ

アーカイブ