広告が嫌いですか? 行く 広告なし 今日

Apache Avro スキーマフォーマッターおよびバリデーター

データ開発者文章
[iotools_apache_avro_schema_formatter_validator]

ガイド

Apache Avro JSON スキーマを貼り付け、ブラウザで整形し、公式Avro仕様に照らしてバリデーションを行います。このツールは問題を検出します

Apache Avro スキーマフォーマッター&バリデーター

Apache Avro JSON スキーマを貼り付け、ブラウザで整形し、公式Avro仕様に照らしてバリデーションを行います。単純なJSONリントツールやLLMが見落とす問題、無効な型結合、デフォルト値が最初の結合ブランチと一致しない、フィールド名の重複、未解決の名前付き型参照、名前規則に違反するenumシンボルなども検出します。

また、 パーサーの標準形式 Avro仕様で定義されたもので、スキーマの指紋化やプロダクターやコンシューマーの互換性チェックに使用される決定論的な表現です。

使用方法

  1. あなたの .avsc 入力エリアにスキーマ(JSONドキュメント)を貼り付け、またはファイルをアップローダーにドロップできます。
  2. 整形出力のインデントスタイルを選択してください — 2スペース、4スペース、タブ、または完全に最小化された形式。
  3. オプションで、 オブジェクトのキーをアルファベット順に並べる をチェックして、スキーマのリビジョン間での決定論的な差分を取得します。
  4. チェック 出力 パーサーの標準形式 仕様で定義された指紋入力が必要な場合に使用します。インデントおよびソートオプションはこのモードでは無視されます。
  5. 出力の上部の緑色・赤色ステータスバーを確認してください — 有効/無効、レコード、フィールド、enum、結合、およびfixedの数を表示します。警告(例:nullでないデフォルト値が最初の結合ブランチと一致しない)はその下に表示されます。
  6. 出力のコピーまたはダウンロードボタンを使用して、整形されたスキーマをエクスポートします。

機能

  • 厳密なAvro仕様バリデーション — 原始型および複雑型、名前および名前空間の構文、結合ブランチルール、および名前付き型の重複をチェックします。
  • デフォルト値の適合性 — 各フィールドのデフォルト値が宣言された型と一致することを確認し、結合の最初のブランチルールに対して特別な処理を行います。
  • 名前付き型の解決 — 同じドキュメント内の以前の定義に参照を解決します。 com.example.User — 仕様で定義された決定論的なJSONを出力し、スキーマの指紋に使用します。
  • パーサーの標準形式 整形オプション
  • — 2/4スペース、タブ、または最小化出力、アルファベット順のキー並び替えをオプションで行い、安定した差分を確保します。 インライン統計
  • — すべてのバリデーション後にレコード、フィールド、enum、結合、およびfixedの数を表示します。 — スキーマはサーバーにアップロードされないため、プロパティまたは内部スキーマの使用に安全です。
  • ブラウザ内で完全に動作 Apache Avroとは?

よくある質問

  1. Apache Avroは、HadoopおよびKafkaエコシステムで広く使用されている行ベースデータシリアル化システムです。データをJSONスキーマで記述し、パッケージをコンパクトなバイナリ形式にシリアル化します。スキーマはデータとともに(またはデータに参照されます)移動するため、Avroは進化するデータパイプラインに人気があります。

    Avroのデフォルト値はなぜ結合の最初のブランチと一致しなければならないのですか?

  2. Avroリーダーは、ライターのブランチインデックスをリーダーの互換性のあるブランチと一致させるように解決します。フィールドがデータに存在しない場合、リーダーはインデックスを確認できません。そのため、仕様ではデフォルト値がリーダーの結合の最初のブランチとして表現可能である必要があります。そのため、nullableフィールドは通常、['null', T]として記述され、nullデフォルトが設定されます。

    パーサーの標準形式とは?

  3. Avro仕様で定義された標準化されたJSONシリアル化です。短い名前は完全に修飾された名前に置き換えられ、docやaliasesなどの非必須属性が削除され、キーの順序が固定され、すべての空白が削除されます。2つのスキーマが意味的に同等であれば、同じ標準形式(および同じ指紋)を生成し、作成されたJSONが異なる場合でも同じになります。

    名前空間はどのように解決されますか?

  4. ドットがない名前は、最も内側の名前空間で修飾されます。ドットを含む名前は完全な名前として扱われ、そのまま使用されます。各レコード、enum、およびfixedは、スキーマドキュメント内で一意のフルネームをもつ必要があります。

    論理型はサポートされていますか?

  5. decimal、date、time-millis、timestamp-millisなどの論理型は、Avroの原始型に追加された注釈を持つ原始型です。このツールは、基本的な原始型をバリデーションし、整形出力に論理型メタデータを保持しますが、論理型に特化した制約(例:decimalの精度とスケール)を強制しません。

    Apache Avro スキーマフォーマッター&バリデーター 1

広告なしで楽しみたいですか? 今すぐ広告なしで

拡張機能をインストールする

お気に入りのブラウザにIOツールを追加して、すぐにアクセスし、検索を高速化します。

に追加 Chrome拡張機能 に追加 エッジ拡張 に追加 Firefox 拡張機能 に追加 Opera 拡張機能

スコアボードが到着しました!

スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!

ニュースコーナー 技術ハイライト付き

参加する

価値ある無料ツールの提供を継続するためにご協力ください

コーヒーを買って