14.13.1 データベースからのPgxFrameのロード

PgxFrameは、Oracleデータベースのリレーショナル表からロードすることもできます。リレーショナル表の各列は、ロードされたフレーム内の列に対応します。データベースからPgxFrameをロードする場合、デフォルトの動作では、表にある列が検出され、それらがすべてロードされます。明示的に指定しない場合、現在のユーザーおよびセッションの接続詳細が使用され、列が自動的に検出されます。

データベース表からPgxFrameをロードするステップを次に示します。

  1. 次のようにセッションアナリストを作成します。
    cd /opt/oracle/graph/
    ./bin/opg4j
    // starting the shell will create an implicit session and analyst
    opg4j> import static oracle.pgx.api.frames.functions.ColumnRenaming.renaming
    opg4j> import static oracle.pgx.api.frames.schema.ColumnDescriptor.columnDescriptor
    opg4j> import oracle.pgx.api.frames.schema.*
    opg4j> import oracle.pgx.api.frames.schema.datatypes.*
    import oracle.pgx.api.*;
    import oracle.pgx.api.frames.*;
    import oracle.pgx.api.frames.functions.*;
    import oracle.pgx.api.frames.schema.*;
    import oracle.pgx.api.frames.schema.datatypes.*;
    import static oracle.pgx.api.frames.functions.ColumnRenaming.renaming;
    import static oracle.pgx.api.frames.schema.ColumnDescriptor.columnDescriptor;
    
    PgxSession session = Pgx.createSession("my-session");
    Analyst analyst = session.createAnalyst();
    session = pypgx.get_session(session_name="my-session")
    analyst = session.create_analyst()
  2. PgxFrameをロードします。
    opg4j> var exampleFrame = session.readFrame().
        db().
        name("framename").      // name of the frame
        tablename("tablename"). // name of the table from where the data must be loaded
        connections(16).        // indicates that 16 connections can be used to load in parallel
        load()
    PgxFrame exampleFrame = session.readFrame()
        .db()
        .name("framename")      // name of the frame
        .tablename("tablename") // name of the table from where the data must be loaded
        .connections(16)        // indicates that 16 connections can be used to load in parallel
        .load();
  3. 列のサブセットのみをロードする必要がある場合は、FrameReader.columns()で列を指定する必要があります。
    // You must specify jdbc connection, keystore and the columns to load
    opg4j> session.registerKeystore("keystore", pathToKeystore, keystorePassword)
    opg4j> var exampleFrame = session.readFrame().
        db().
        name("framename").
        tablename("tablename").      // name of the table from where the data must be loaded
        jdbcUrl("jdbcUrl").
        username("user").
        keystoreAlias("keytore").
        owner("owner").              // necessary if the table is owned by another user
        connections(16).             // indicates that 16 connections can be used to load in parallel
        columns(exampleFrameSchema). // columns to load
        load()
    import oracle.pgx.api.frames.schema.datatypes.DataTypes;
    import oracle.pgx.api.frames.schema.ColumnDescriptor;
    // You must specify jdbc connection, keystore and the columns to load
    session.registerKeystore("keystore", pathToKeystore, keystorePassword)
    PgxFrame exampleFrame = session.readFrame()
        .db()
        .name("framename")
        .tablename("tablename")      // name of the table from where the data must be loaded
        .jdbcUrl("jdbcUrl")
        .username("user")
        .keystoreAlias("keytore")
        .owner("owner")              // necessary if the table is owned by another user
        .connections(16)             // indicates that 16 connections can be used to load in parallel
        .columns(exampleFrameSchema) // columns to load
        .load();
    PgxFrameからグラフを作成することもできます。詳細は、複数のPgxFrameオブジェクトからのグラフの作成を参照してください。