Membaca dari entitas Oracle NetSuite - AWS Glue

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Membaca dari entitas Oracle NetSuite

Prasyarat

NetSuite Objek Oracle yang ingin Anda baca. Anda akan membutuhkan nama objek seperti deposit atautimebill. Tabel berikut menunjukkan entitas yang didukung.

Entitas yang didukung untuk sumber:

Entitas Dapat disaring Mendukung Order By Mendukung Batas Mendukung SELECT * Mendukung partisi
Setoran Ya Tidak Ya Ya Ya
Keterangan Barang Ya Tidak Ya Ya Ya
Barang Inventaris Ya Tidak Ya Ya Ya
Pemenuhan Item Ya Tidak Ya Ya Ya
Grup Barang Ya Tidak Ya Ya Ya
Entri Jurnal Ya Tidak Ya Ya Ya
Item Pembelian Non-Inventaris Ya Tidak Ya Ya Ya
Barang Penjualan Kembali Non-Inventaris Ya Tidak Ya Ya Ya
Barang Penjualan Non-Inventaris Ya Tidak Ya Ya Ya
Pesanan Pembelian Ya Tidak Ya Ya Ya
Anak Perusahaan Ya Tidak Ya Ya Ya
Vendor Ya Tidak Ya Ya Ya
Tagihan Vendor Ya Tidak Ya Ya Ya
Otorisasi Pengembalian Vendor Ya Tidak Ya Ya Ya
Tagihan Waktu Ya Tidak Ya Ya Ya
Pembayaran Pelanggan Ya Tidak Ya Ya Ya
Permintaan Pemenuhan Ya Tidak Ya Ya Ya
Item Ya Ya Ya Ya Ya
Jalur Transaksi Ya Ya Ya Ya Ya
Jalur Akuntansi Transaksi Ya Ya Ya Ya Ya
Jenis Rekaman Kustom (Dinamis) Ya Ya Ya Ya Ya

Contoh:

netsuiteerp_read = glueContext.create_dynamic_frame.from_options( connection_type="netsuiteerp", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "deposit", "API_VERSION": "v1" } )

NetSuite Entitas Oracle dan detail bidang:

Oracle NetSuite secara dinamis memuat bidang yang tersedia di bawah entitas yang dipilih. Tergantung pada tipe data bidang, ini mendukung operator filter berikut.

Tipe data bidang Operator filter yang didukung
String SEPERTI, =,! =
Tanggal ANTARA, =, <, <=, >, >=
DateTime ANTARA, <, <=, >, >=
Numerik =, !=, <, <=, >, >=
Boolean =, !=

Format input yang diharapkan untuk nilai Boolean di Ekspresi Filter:

Entitas Format nilai “benar” Boolean Format nilai “palsu” Boolean Contoh
Barang, Jalur Transaksi, Jalur Akuntansi Transaksi, dan entitas Jenis Rekaman Kustom T atau t F atau f isinactive = “T” atau isinactive = “t”
Semua entitas lainnya true SALAH isinaktif = benar

Mempartisi kueri

Partisi berbasis lapangan

NetSuite Konektor Oracle memiliki metadata dinamis sehingga bidang yang didukung untuk partisi berbasis bidang dipilih secara dinamis. Partisi berbasis bidang didukung pada bidang yang memiliki tipe data Integer, BigInteger, Tanggal atau. DateTime

Anda dapat memberikan opsi Spark tambahanPARTITION_FIELD,, LOWER_BOUNDUPPER_BOUND, dan NUM_PARTITIONS jika Anda ingin memanfaatkan konkurensi di Spark. Dengan parameter ini, kueri asli akan dibagi menjadi NUM_PARTITIONS sejumlah sub-kueri yang dapat dijalankan oleh tugas Spark secara bersamaan.

  • PARTITION_FIELD: nama bidang yang akan digunakan untuk mempartisi kueri.

  • LOWER_BOUND: nilai batas bawah inklusif dari bidang partisi yang dipilih.

    Untuk bidang timestamp, kami menerima format stempel waktu Spark yang digunakan dalam kueri Spark SQL.

    Contoh nilai yang valid:

    "TIMESTAMP \"1707256978123\"" "TIMESTAMP \"1702600882\"" "TIMESTAMP '2024-02-06T22:00:00:00.000Z'" "TIMESTAMP '2024-02-06T22:00:00:00Z'" "TIMESTAMP '2024-02-06'"
  • UPPER_BOUND: nilai batas atas eksklusif dari bidang partisi yang dipilih.

  • NUM_PARTITIONS: jumlah partisi.

Contoh:

netsuiteerp_read = glueContext.create_dynamic_frame.from_options( connection_type="netsuiteerp", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "deposit", "API_VERSION": "v1", "PARTITION_FIELD": "id", "LOWER_BOUND": "1", "UPPER_BOUND": "10000", "NUM_PARTITIONS": "10" }

Partisi berbasis rekaman

Anda dapat memberikan opsi Spark tambahan NUM_PARTITIONS jika Anda ingin menggunakan konkurensi di Spark. Dengan parameter ini, kueri asli akan dibagi menjadi NUM_PARTITIONS sejumlah sub-kueri yang dapat dijalankan oleh tugas Spark secara bersamaan.

Dalam partisi berbasis rekaman, jumlah total catatan yang ada ditanyakan dari Oracle NetSuite API, dan dibagi dengan jumlah yang disediakan, NUM_PARTITIONS jumlah catatan yang dihasilkan kemudian diambil secara bersamaan oleh setiap sub-kueri.

  • NUM_PARTITIONS: jumlah partisi.

Contoh:

netsuiteerp_read = glueContext.create_dynamic_frame.from_options( connection_type="netsuiteerp", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "deposit", "API_VERSION": "v1", "NUM_PARTITIONS": "3" }