neptune.read() - Amazon Neptune

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

neptune.read()

Neptune は、Amazon S3 からデータneptune.readを読み取ってから、データを使用して openCypher クエリ (読み取り、挿入、更新) を実行するCALL手順をサポートしています。プロシージャは、ファイル内の各行を宣言された結果変数行として生成します。呼び出し元の IAM 認証情報を使用して Amazon S3 のデータにアクセスします。アクセス許可を設定するにはneptune.read() のアクセス許可の管理、「」を参照してください。Amazon S3 バケットの AWS リージョンは、インスタンスが配置されているのと同じリージョンにある必要があります。現在、クロスリージョン読み取りはサポートされていません。

[Syntax] (構文)

CALL neptune.read( { source: "string", format: "parquet/csv", concurrency: 10 } ) YIELD row ...
入力
  • source (必須) - 1 つのオブジェクトへの Amazon S3 URI。複数のオブジェクトに対する Amazon S3 プレフィックスはサポートされていません。

  • format (必須) - parquetおよび csvがサポートされています。

  • concurrency (オプション) - タイプ: 0 以上の整数。デフォルト: 0。ファイルの読み取りに使用するスレッドの数を指定します。値が 0 の場合、リソースで許可されるスレッドの最大数が使用されます。Parquet では、多数の行グループに設定することをお勧めします。

アウトプット

neptune.read は以下を返します。

  • - type:Map

    • ファイル内の各行。キーは列、値は各列にあるデータです。

    • プロパティアクセス () のように、各列のデータにアクセスできますrow.col

neptune.read() のベストプラクティス

Neptune S3 の読み取りオペレーションはメモリを大量に消費する可能性があります。Amazon Neptune のインスタンスタイプの選択」で説明されているように、本稼働ワークロードに適したインスタンスタイプを使用してください。

neptune.read() リクエストのメモリ使用量とパフォーマンスは、ファイルサイズ、列数、行数、ファイル形式など、さまざまな要因の影響を受けます。構造によっては、小さいファイル (100MB 以下の CSV ファイル、20MB 以下の Parquet ファイルなど) は、ほとんどの本番稼働用インスタンスタイプで確実に動作しますが、大きいファイルでは、小さいインスタンスタイプでは提供できない大量のメモリが必要になる場合があります。

この機能のテストでは、小さいファイルから始めて徐々にスケールし、読み取りワークロードがインスタンスサイズに対応できるようにすることをお勧めします。out-of-memory例外やインスタンスの再起動につながるneptune.read()リクエストに気付いた場合は、ファイルを小さなチャンクに分割し、ファイルの複雑さを軽減し、より大きなインスタンスタイプにアップグレードすることを検討してください。