Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membaca dari SAP OData entitas
Prasyarat
SAPODataObjek yang ingin Anda baca. Anda akan membutuhkan object/EntitySet name, for example, /sap/opu/odata/sap/API_SALES_ORDER_SRV/A _SalesOrder.
Contoh:
sapodata_read = glueContext.create_dynamic_frame.from_options( connection_type="SAPOData", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "entityName" }, transformation_ctx=key)
SAPODatadetail entitas dan bidang:
Entitas | Tipe data | Operator yang didukung |
---|---|---|
Tabel (entitas dinamis) | String | =, !=, >, >=, <, <=, BETWEEN, LIKE |
Bulat | =, !=, >, >=, <, <=, BETWEEN, LIKE | |
Panjang | =, !=, >, >=, <, <=, BETWEEN, LIKE | |
Ganda | =, !=, >, >=, <, <=, BETWEEN, LIKE | |
Tanggal | =, !=, >, >=, <, <=, BETWEEN, LIKE | |
DateTime | =, !=, >, >=, <, <=, BETWEEN, LIKE | |
Boolean | =, != | |
Struct | =, !=, >, >=, <, <=, BETWEEN, LIKE |
Mempartisi kueri
Partisi berbasis lapangan:
Anda dapat memberikan opsi Spark tambahanPARTITION_FIELD
,, LOWER_BOUND
UPPER_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. Integer, Tanggal, dan DateTime bidang mendukung partisi berbasis bidang di konektor. SAP OData
PARTITION_FIELD
: nama bidang yang akan digunakan untuk mempartisi kueri.LOWER_BOUND
: nilai batas bawah inklusif dari bidang partisi yang dipilih.Untuk bidang Datetime, kami menerima format stempel waktu Spark yang digunakan dalam kueri. SPark SQL
Contoh nilai yang valid:
"2000-01-01T00:00:00.000Z"
UPPER_BOUND
: nilai batas atas eksklusif dari bidang partisi yang dipilih.NUM_PARTITIONS
: jumlah partisi.PARTITION_BY
: jenis partisi yang akan dilakukan. “FIELD” harus diteruskan jika terjadi partisi berbasis lapangan.
Contoh:
sapodata= glueContext.create_dynamic_frame.from_options( connection_type="sapodata", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "/sap/opu/odata/sap/SEPM_HCM_SCENARIO_SRV/EmployeeSet", "PARTITION_FIELD": "validStartDate" "LOWER_BOUND": "2000-01-01T00:00:00.000Z" "UPPER_BOUND": "2020-01-01T00:00:00.000Z" "NUM_PARTITIONS": "10", "PARTITION_BY": "FIELD" }, transformation_ctx=key)
Partisi berbasis rekaman:
Kueri asli akan dibagi menjadi NUM_PARTITIONS
sejumlah sub-kueri yang dapat dijalankan oleh tugas Spark secara bersamaan.
Partisi berbasis rekaman hanya didukung untuk ODP non-entitas, karena pagination dalam ODP entitas didukung melalui token berikutnya/skip token.
PARTITION_BY
: jenis partisi yang akan dilakukan. “COUNT" harus diteruskan dalam kasus partisi berbasis rekaman.
sapodata= glueContext.create_dynamic_frame.from_options( connection_type="sapodata", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "/sap/opu/odata/sap/SEPM_HCM_SCENARIO_SRV/EmployeeSet", "NUM_PARTITIONS": "10", "PARTITION_BY": "COUNT" }, transformation_ctx=key)