View a markdown version of this page

Membuat saluran input ML di AWS Clean Rooms ML - AWS Clean Rooms

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

Membuat saluran input ML di AWS Clean Rooms ML

Prasyarat:

  • An Akun AWS dengan akses ke AWS Clean Rooms

  • Kolaborasi yang disiapkan di AWS Clean Rooms tempat Anda ingin membuat saluran input ML

  • Izin untuk menanyakan data dan membuat saluran input ML dalam kolaborasi.

  • (Opsional) Algoritma model yang ada untuk dikaitkan dengan saluran input ML, atau izin untuk membuat yang baru

  • (Opsional) Tabel dengan aturan analisis yang dapat dijalankan untuk model yang Anda tentukan.

  • (Opsional) Kueri SQL yang ada atau template analisis untuk digunakan untuk menghasilkan dataset

  • (Opsional) Peran layanan yang ada dengan izin yang sesuai, atau izin untuk membuat peran layanan baru

  • (Opsional) K AWS KMS unci khusus jika Anda ingin menggunakan kunci enkripsi Anda sendiri

  • Izin yang sesuai untuk membuat dan mengelola model ML dalam kolaborasi

Sal uran input ML adalah dataset yang dibuat dari kueri data tertentu. Anggota dengan kemampuan untuk menanyakan data dapat menyiapkan data mereka untuk pelatihan dan inferensi dengan membuat saluran input ML. Membuat saluran input ML memungkinkan data tersebut digunakan dalam model pelatihan yang berbeda dalam kolaborasi yang sama. Anda harus membuat saluran input ML terpisah untuk pelatihan dan inferensi.

Untuk membuat saluran input ML, Anda harus menentukan query SQL yang digunakan untuk menanyakan data input dan membuat saluran input ML. Hasil kueri ini tidak pernah dibagikan dengan anggota mana pun dan tetap berada dalam batas-batas Clean Rooms ML. Referensi Amazon Resource Name (ARN) digunakan dalam langkah selanjutnya untuk melatih model atau menjalankan inferensi.

Console
Untuk membuat saluran input ML (konsol)
  1. Masuk ke Konsol Manajemen AWS dan buka AWS Clean Rooms konsol di https://console.aws.amazon.com/cleanrooms.

  2. Di panel navigasi kiri, pilih Kolabor asi.

  3. Pada halaman Kolaborasi, pilih kolaborasi tempat Anda ingin membuat saluran input ML.

  4. Setelah kolaborasi terbuka, pilih tab Model ML.

  5. Di bawah Model ML K ustom, di bagian saluran masukan ML, pilih Buat saluran masukan ML.

  6. Pada halaman Buat saluran masukan ML, untuk detail saluran masukan ML, lakukan hal berikut:

    1. Untuk Nama, masukkan nama unik untuk saluran Anda.

    2. (Opsional) Untuk Deskripsi, masukkan deskripsi saluran Anda.

    3. Untuk algoritma model terkait, pilih algoritma yang akan digunakan.

      Pilih Algoritma model Associate untuk menambahkan yang baru.

  7. Untuk Dataset, pilih metode untuk menghasilkan dataset pelatihan:

    • Pilih kueri SQL untuk menggunakan hasil kueri SQL sebagai dataset pelatihan.

      Jika Anda memilih kueri SQL, masukkan kueri Anda di bidang kueri SQL.

      (Opsional) Untuk mengimpor kueri yang telah Anda gunakan baru-baru ini, pilih Impor dari kueri terbaru.

    • Pilih template Analisis untuk menggunakan hasil template analisis sebagai kumpulan data pelatihan.

      Awas

      Pembuatan data sintetis melindungi dari menyimpulkan atribut individu apakah individu tertentu hadir dalam kumpulan data asli atau atribut pembelajaran dari individu-individu tersebut hadir. Namun, itu tidak mencegah nilai literal dari kumpulan data asli, termasuk informasi identitas pribadi (PII) muncul dalam kumpulan data sintetis.

      Sebaiknya hindari nilai dalam kumpulan data input yang terkait dengan hanya satu subjek data karena ini dapat mengidentifikasi ulang subjek data. Misalnya, jika hanya satu pengguna yang tinggal di kode pos, keberadaan kode pos itu dalam kumpulan data sintetis akan mengkonfirmasi bahwa pengguna berada di kumpulan data asli. Teknik seperti memotong nilai presisi tinggi atau mengganti katalog yang tidak biasa dengan yang lain dapat digunakan untuk mengurangi risiko ini. Transformasi ini dapat menjadi bagian dari query yang digunakan untuk membuat saluran input ML.

    1. Jika tidak ada tabel yang terkait, pilih Associate table untuk menambahkan tabel dengan aturan analisis yang dapat dijalankan untuk model yang ditentukan.

    2. Pilih jenis pekerja yang akan digunakan saat membuat saluran data ini. Jenis pekerja default adalah CR.1X. Tentukan Jumlah pekerja yang akan digunakan. Nomor pekerja default adalah 16. Untuk menentukan properti Spark:

      1. Perluas properti Spark.

      2. Pilih Tambahkan properti Spark.

      3. Pada kotak dialog properti Spark, pilih nama Pro perti dari daftar dropdown dan masukkan Nilai.

      Tabel berikut memberikan definisi untuk setiap properti.

      Untuk informasi selengkapnya tentang properti Spark, lihat Spark Properties dalam dokumentasi Apache Spark.

      catatan

      Anda dapat mengonfigurasi maksimal 50 properti Spark. Setiap nilai properti dapat mencapai 500 karakter.

      Nama Properti Deskripsi nilai default

      Spark.task.maxFailures

      Mengontrol berapa kali berturut-turut tugas dapat gagal sebelum pekerjaan gagal. Membutuhkan nilai yang lebih besar dari atau sama dengan 1. Jumlah percobaan ulang yang diizinkan sama dengan nilai ini dikurangi 1. Jumlah kegagalan diatur ulang jika ada upaya yang berhasil. Kegagalan di berbagai tugas tidak menumpuk menuju batas ini.

      4

      spark.sql.files.max PartitionBytes

      Menetapkan jumlah maksimum byte untuk dikemas ke dalam satu partisi saat membaca dari sumber berbasis file seperti Parquet, JSON, dan ORC.

      128MB

      spark.hadoop.fs.s3.maxRetries

      Menetapkan jumlah maksimum upaya coba ulang untuk operasi file Amazon S3.

      (tidak ada)

      spark.network.timeout

      Menetapkan batas waktu default untuk semua interaksi jaringan. Mengganti setelan batas waktu berikut jika tidak dikonfigurasi:

      • spark.storage.blok ManagerHeartbeatTimeoutMs

      • Spark.shuffle.io.ConnectionTimeout

      • Spark.rpc.AskTimeout

      • Spark.RPC.LookupTimeout

      120-an

      spark.rdd.kompres

      Menentukan apakah akan mengompres partisi RDD serial menggunakan spark.io.compression.codec. Berlaku untuk StorageLevel.MEMORY _ONLY_SER di Java dan Scala, atau StorageLevel.MEMORY _ONLY di Python. Mengurangi ruang penyimpanan tetapi membutuhkan waktu pemrosesan CPU tambahan.

      false

      spark.shuffle.spill.kompres

      Menentukan apakah akan mengompres data shuffle spill menggunakan spark.io.compression.codec.

      true

      spark.shuffle.kompres

      Menentukan apakah akan mengompres file output peta. Kompresi menggunakan spark.io.compression.codec.

      true

      spark.shuffle.service.index.cache.size

      Menetapkan batas ukuran cache, dalam byte kecuali ditentukan lain.

      100m

      Spark.shuffle.io.maxRetries

      Menetapkan jumlah maksimum percobaan ulang untuk pengambilan yang gagal karena pengecualian. IO-related

      3

      spark.shuffle.io.RetryWait

      Menetapkan waktu tunggu antara percobaan ulang pengambilan. Penundaan maksimum yang disebabkan oleh percobaan ulang adalah 15 detik secara default, dihitung sebagai maxRetries * retryWait.

      5 detik

      Spark.shuffle.io.ConnectionTimeout

      Menetapkan batas waktu untuk koneksi yang dibuat antara server shuffle dan klien untuk ditandai sebagai idle dan ditutup jika masih ada permintaan pengambilan yang belum dibayar tetapi tidak ada lalu lintas di saluran.

      (nilai spark.network.timeout)

      spark.driver.max ResultSize

      Menetapkan batas ukuran total hasil serial dari semua partisi untuk setiap tindakan Spark, dalam byte. Setidaknya harus 1M, atau 0 untuk tidak terbatas.

      1g

      spark.memory.fraksi

      Menetapkan fraksi (ruang tumpukan - 300MB) yang digunakan untuk eksekusi dan penyimpanan. Semakin rendah nilai ini, semakin sering terjadi tumpahan dan penggusuran data yang di-cache. Dianjurkan untuk meninggalkan ini pada nilai default.

      0.6

      spark.scheduler.mode

      Menetapkan mode penjadwalan antara pekerjaan yang dikirimkan ke yang sama SparkContext. Dapat diatur ke FAIR untuk menggunakan pembagian yang adil alih-alih mengantri pekerjaan satu demi satu. Nilai yang didukung: FAIR, FIFO.

      FIFO

      spark.sql.adaptive.advisory PartitionSizeInBytes

      Menetapkan ukuran target dalam byte untuk partisi shuffle selama pengoptimalan adaptif saat spark.sql.adaptive.enabled benar. Mengontrol ukuran partisi saat menggabungkan partisi kecil atau memisahkan partisi miring.

      (nilai spark. PostShuffleInputSize sql.adaptive.shuffle.target)

      spark.sql.adaptive.otomatis BroadcastJoinThreshold

      Menetapkan ukuran tabel maksimum dalam byte untuk penyiaran ke node pekerja selama bergabung. Hanya berlaku dalam kerangka adaptif. Menggunakan nilai default yang sama dengan spark. BroadcastJoinThreshold sql.auto. Setel ke -1 untuk menonaktifkan penyiaran.

      (tidak ada)

      spark.sql.adaptive.coalesce Partitions.enabled

      Menentukan apakah akan menggabungkan partisi shuffle yang berdekatan berdasarkan spark.sql.adaptive.advisory untuk mengoptimalkan ukuran tugas. PartitionSizeInBytes Membutuhkan spark.sql.adaptive.enabled agar benar.

      true

      spark.sql.adaptive.coalesce Partitions.initialPartitionNum

      Mendefinisikan jumlah awal partisi shuffle sebelum penggabungan. Memerlukan spark.sql.adaptive.enabled dan spark.sql.adaptive.coalesce agar benar. Partitions.enabled Defaultnya adalah nilai spark.sql.shuffle.partition.

      (tidak ada)

      spark.sql.adaptive.coalesce Partitions.minPartitionSize

      Menetapkan ukuran minimum untuk partisi shuffle gabungan untuk mencegah partisi menjadi terlalu kecil selama pengoptimalan adaptif.

      1 MB

      spark.sql.adaptive.coalesce Partitions.parallelismFirst

      Menentukan apakah akan menghitung ukuran partisi berdasarkan paralelisme cluster alih-alih spark.sq PartitionSizeInBytes l.adaptive.advisory selama penggabungan partisi. Menghasilkan ukuran partisi yang lebih kecil dari ukuran target yang dikonfigurasi untuk memaksimalkan paralelisme. Sebaiknya setel ini ke false pada cluster sibuk untuk meningkatkan pemanfaatan sumber daya dengan mencegah tugas kecil yang berlebihan.

      true

      spark.sql.adaptive.enabled

      Menentukan apakah akan mengaktifkan eksekusi kueri adaptif untuk mengoptimalkan kembali rencana kueri selama eksekusi kueri, berdasarkan statistik runtime yang akurat.

      true

      spark.sql.adaptive.force OptimizeSkewedJoin

      Menentukan apakah akan memaksa mengaktifkan OptimizeSkewedJoin bahkan jika itu memperkenalkan shuffle tambahan.

      false

      spark.sql.adaptive.lokal ShuffleReader.enabled

      Menentukan apakah akan menggunakan pembaca shuffle lokal saat partisi shuffle tidak diperlukan, seperti setelah mengonversi dari gabungan sort-merge ke gabungan broadcast-hash. Membutuhkan spark.sql.adaptive.enabled agar benar.

      true

      spark.sql.adaptive.max ShuffledHashJoinLocalMapThreshold

      Menetapkan ukuran partisi maksimum dalam byte untuk membangun peta hash lokal. Memprioritaskan gabungan hash yang diacak daripada gabungan sort-merge ketika:

      • Nilai ini sama dengan atau melebihi spark.sql.adaptive.advisory PartitionSizeInBytes

      • Semua ukuran partisi berada dalam batas ini

      Mengganti pengaturan spark.sql.join.preferSortMergeJoin .

      0 byte

      spark.sql.adaptive.optimalkan SkewsInRebalancePartitions.enabled

      Menentukan apakah akan mengoptimalkan partisi shuffle miring dengan membaginya menjadi partisi yang lebih kecil berdasarkan spark.sql.adaptive.advisory. PartitionSizeInBytes Membutuhkan spark.sql.adaptive.enabled agar benar.

      true

      spark.sql.adaptive.rebalance PartitionsSmallPartitionFactor

      Mendefinisikan faktor ambang ukuran untuk menggabungkan partisi selama pemisahan. Partisi yang lebih kecil dari faktor ini dikalikan dengan spark.sql. PartitionSizeInBytes adaptive.advisory digabungkan.

      0.2

      spark.sql.adaptive.miring Join.enabled

      Menentukan apakah akan menangani kemiringan data dalam gabungan yang diacak dengan memisahkan dan secara opsional mereplikasi partisi miring. Berlaku untuk gabungan hash sort-merge dan shuffled. Membutuhkan spark.sql.adaptive.enabled agar benar.

      true

      spark.sql.adaptive.miring Join.skewedPartitionFactor

      Menentukan faktor ukuran yang menentukan kemiringan partisi. Partisi miring ketika ukurannya melebihi keduanya:

      • Faktor ini dikalikan dengan ukuran partisi median

      • Nilai spark.sql.adaptive.skew Join.skewedPartitionThresholdInBytes

      5

      spark.sql.adaptive.miring Join.skewedPartitionThresholdInBytes

      Menetapkan ambang ukuran dalam byte untuk mengidentifikasi partisi miring. Partisi miring ketika ukurannya melebihi keduanya:

      • Ambang batas ini

      • Ukuran partisi median dikalikan dengan spark.sql.adaptive.skew Join.skewedPartitionFactor

      Sebaiknya setel nilai ini lebih besar dari spark. PartitionSizeInBytes sql.adaptive.advisory.

      256MB

      Spark.sql.BroadcastTimeout

      Mengontrol periode batas waktu dalam detik untuk operasi siaran selama bergabung siaran.

      300 detik

      spark.sql.cbo.diaktifkan

      Menentukan apakah akan mengaktifkan optimasi berbasis biaya (CBO) untuk estimasi statistik rencana.

      false

      spark.sql.cbo.gabung Reorder.dp.star.filter

      Menentukan apakah akan menerapkan heuristik filter star-join selama enumerasi gabungan berbasis biaya.

      false

      spark.sql.cbo.gabung Reorder.dp.threshold

      Menetapkan jumlah maksimum node bergabung yang diizinkan dalam algoritma pemrograman dinamis.

      12

      spark.sql.cbo.gabung Reorder.enabled

      Menentukan apakah akan mengaktifkan pengaturan ulang gabungan dalam pengoptimalan berbasis biaya (CBO).

      false

      spark.sql.cbo.plan Stats.enabled

      Menentukan apakah akan mengambil jumlah baris dan statistik kolom dari katalog selama pembuatan rencana logis.

      false

      spark.sql.cbo.star SchemaDetection

      Menentukan apakah akan mengaktifkan penataan ulang gabungan berdasarkan deteksi skema bintang.

      false

      spark.sql.files.max PartitionNum

      Menetapkan target jumlah maksimum partisi file terpisah untuk sumber berbasis file (Parquet, JSON, dan ORC). Mengubah skala partisi ketika jumlah awal melebihi nilai ini. Ini adalah target yang disarankan, bukan batas yang dijamin.

      (tidak ada)

      spark.sql.files.max RecordsPerFile

      Menetapkan jumlah maksimum catatan untuk menulis ke satu file. Tidak ada batasan yang berlaku ketika disetel ke nol atau nilai negatif.

      0

      spark.sql.files.min PartitionNum

      Menetapkan target jumlah minimum partisi file terpisah untuk sumber berbasis file (Parquet, JSON, dan ORC). Defaultnya spar NodeDefaultParallelism k.sql.leaf. Ini adalah target yang disarankan, bukan batas yang dijamin.

      (tidak ada)

      spark.sql.in MemoryColumnarStorage.batchSize

      Mengontrol ukuran batch untuk cache kolumnar. Meningkatkan ukuran meningkatkan pemanfaatan memori dan kompresi tetapi meningkatkan risiko kesalahan kehabisan memori.

      10000

      spark.sql.in MemoryColumnarStorage.compressed

      Menentukan apakah akan secara otomatis memilih codec kompresi untuk kolom berdasarkan statistik data.

      true

      spark.sql.in MemoryColumnarStorage.enableVectorizedReader

      Menentukan apakah akan mengaktifkan pembacaan vektor untuk cache kolumnar.

      true

      spark.sql.legacy.allow HashOnMapType

      Menentukan apakah akan mengizinkan operasi hash pada struktur data tipe peta. Pengaturan lama ini mempertahankan kompatibilitas dengan penanganan jenis peta versi Spark yang lebih lama.

      (tidak ada)

      spark.sql.legacy.allow NegativeScaleOfDecimal

      Menentukan apakah akan mengizinkan nilai skala negatif dalam definisi tipe desimal. Pengaturan lama ini mempertahankan kompatibilitas dengan versi Spark lama yang mendukung skala desimal negatif.

      (tidak ada)

      spark.sql.legacy.cast ComplexTypesToString.enabled

      Menentukan apakah akan mengaktifkan perilaku lama untuk mentransmisikan tipe kompleks ke string. Mempertahankan kompatibilitas dengan aturan konversi tipe versi Spark yang lebih lama.

      (tidak ada)

      spark.sql.legacy.char VarcharAsString

      Menentukan apakah akan memperlakukan tipe CHAR dan VARCHAR sebagai tipe STRING. Pengaturan lama ini menyediakan kompatibilitas dengan penanganan jenis string versi Spark yang lebih lama.

      (tidak ada)

      spark.sql.legacy.create EmptyCollectionUsingStringType

      Menentukan apakah akan membuat koleksi kosong menggunakan elemen tipe string. Pengaturan lama ini mempertahankan kompatibilitas dengan perilaku inisialisasi koleksi versi Spark yang lebih lama.

      (tidak ada)

      spark.sql.legacy.eksponent LiteralAsDecimal.enabled

      Menentukan apakah akan menafsirkan literal eksponensial sebagai tipe desimal. Pengaturan lama ini mempertahankan kompatibilitas dengan penanganan literal numerik versi Spark yang lebih lama.

      (tidak ada)

      spark.sql.legacy.json.allow EmptyString.enabled

      Menentukan apakah akan mengizinkan string kosong dalam pemrosesan JSON. Pengaturan lama ini mempertahankan kompatibilitas dengan perilaku penguraian JSON versi Spark yang lebih lama.

      (tidak ada)

      spark.sql.legacy.parquet.int96 RebaseModeInRead

      Menentukan apakah akan menggunakan mode rebase stempel waktu INT96 lama saat membaca file Parquet. Pengaturan lama ini mempertahankan kompatibilitas dengan penanganan stempel waktu versi Spark yang lebih lama.

      (tidak ada)

      spark.sql.legacy.waktu ParserPolicy

      Mengontrol perilaku penguraian waktu untuk kompatibilitas mundur. Pengaturan lama ini menentukan bagaimana cap waktu dan tanggal diurai dari string.

      (tidak ada)

      spark.sql.legacy.type Coercion.datetimeToString.enabled

      Menentukan apakah akan mengaktifkan perilaku paksaan tipe lama saat mengonversi nilai datetime menjadi string. Mempertahankan kompatibilitas dengan aturan konversi datetime versi Spark yang lebih lama.

      (tidak ada)

      spark.sql.maks SinglePartitionBytes

      Menetapkan ukuran partisi maksimum dalam byte. Perencana memperkenalkan operasi shuffle untuk partisi yang lebih besar untuk meningkatkan paralelisme.

      128m

      spark.sql.metadataCacheTtlSeconds

      Mengontrol waktu hidup (TTL) untuk cache metadata. Berlaku untuk metadata file partisi dan cache katalog sesi. Membutuhkan:

      • Nilai positif lebih besar dari nol

      • spark.sql.catalogImplementasi disetel ke sarang

      • spark.sql. PartitionFileCacheSize hive.filesource lebih besar dari nol

      • spark.sql. FilesourcePartitions hive.manage disetel ke true

      -1000ms

      spark.sql.optimizer.kolaps ProjectAlwaysInline

      Menentukan apakah akan menciutkan proyeksi yang berdekatan dan ekspresi sebaris, bahkan ketika itu menyebabkan duplikasi.

      false

      spark.sql.optimizer.dynamic PartitionPruning.enabled

      Menentukan apakah akan menghasilkan predikat untuk kolom partisi yang digunakan sebagai kunci gabungan.

      true

      spark.sql.optimizer.enable CsvExpressionOptimization

      Menentukan apakah akan mengoptimalkan ekspresi CSV di pengoptimal SQL dengan memangkas kolom yang tidak perlu dari operasi from_csv.

      true

      spark.sql.optimizer.enable JsonExpressionOptimization

      Menentukan apakah akan mengoptimalkan ekspresi JSON di pengoptimal SQL dengan:

      • Memangkas kolom yang tidak perlu dari operasi from_json

      • Menyederhanakan kombinasi from_json dan to_json

      • Mengoptimalkan operasi named_struct

      true

      spark.sql.optimizer.excludedRules

      Mendefinisikan aturan pengoptimal untuk dinonaktifkan, diidentifikasi oleh nama aturan yang dipisahkan koma. Beberapa aturan tidak dapat dinonaktifkan karena diperlukan untuk kebenaran. Pengoptimal mencatat aturan mana yang berhasil dinonaktifkan.

      (tidak ada)

      spark.sql.optimizer.runtime.bloom Filter.applicationSideScanSizeThreshold

      Menetapkan ukuran pemindaian agregat minimum dalam byte yang diperlukan untuk menyuntikkan filter Bloom di sisi aplikasi.

      10GB

      spark.sql.optimizer.runtime.bloom Filter.creationSideThreshold

      Mendefinisikan ambang batas ukuran maksimum untuk menyuntikkan filter Bloom di sisi pembuatan.

      10MB

      spark.sql.optimizer.runtime.bloom Filter.enabled

      Menentukan apakah akan menyisipkan filter Bloom untuk mengurangi data shuffle ketika salah satu sisi penggabungan shuffle memiliki predikat selektif.

      true

      spark.sql.optimizer.runtime.bloom Filter.expectedNumItems

      Mendefinisikan jumlah default item yang diharapkan dalam filter Bloom runtime.

      1000000

      spark.sql.optimizer.runtime.bloom Filter.maxNumBits

      Menetapkan jumlah maksimum bit yang diizinkan dalam filter Bloom runtime.

      67108864

      spark.sql.optimizer.runtime.bloom Filter.maxNumItems

      Menetapkan jumlah maksimum item yang diharapkan yang diizinkan dalam filter Bloom runtime.

      4000000

      spark.sql.optimizer.runtime.bloom Filter.numBits

      Mendefinisikan jumlah bit default yang digunakan dalam runtime filter Bloom.

      8388608

      spark.sql.optimizer.runtime.row LevelOperationGroupFilter.enabled

      Menentukan apakah akan mengaktifkan pemfilteran grup runtime untuk operasi tingkat baris. Memungkinkan sumber data untuk:

      • Pangkas seluruh kelompok data (seperti file atau partisi) menggunakan filter sumber data

      • Jalankan kueri runtime untuk mengidentifikasi catatan yang cocok

      • Buang grup yang tidak perlu untuk menghindari penulisan ulang yang mahal

      Pembatasan:

      • Tidak semua ekspresi dapat dikonversi ke filter sumber data

      • Beberapa ekspresi memerlukan evaluasi Spark (seperti subquery)

      true

      spark.sql.optimizer.runtime Filter.number.threshold

      Menetapkan jumlah total filter runtime yang disuntikkan (non-DPP). Ini untuk mencegah OOM driver dengan terlalu banyak filter Bloom.

      10

      spark.sql.optimizer.runtime Filter.semiJoinReduction.enabled

      Menentukan apakah akan menyisipkan semi-join untuk mengurangi data shuffle ketika salah satu sisi shuffle join memiliki predikat selektif.

      false

      spark.sql.parquet.aggregatePushdown

      Menentukan apakah akan menekan agregat ke Parket untuk pengoptimalan. Mendukung:

      • MIN dan MAX untuk tipe boolean, integer, float, dan tanggal

      • HITUNG untuk semua tipe data

      Melempar pengecualian jika statistik hilang dari footer file Parquet mana pun.

      false

      spark.sql.parquet.columnar ReaderBatchSize

      Mengontrol jumlah baris di setiap batch pembaca vektor parket. Pilih nilai yang menyeimbangkan overhead kinerja dan penggunaan memori untuk mencegah kesalahan kehabisan memori.

      4096

      spark.sql.parquet.enable VectorizedReader

      Menentukan apakah akan mengaktifkan decoding parket vektor.

      true

      spark.sql.shuffle.partisi

      Menetapkan jumlah partisi default untuk pengocokan data selama gabungan atau agregasi. Tidak dapat dimodifikasi antara kueri streaming terstruktur yang dimulai ulang dari lokasi pos pemeriksaan yang sama.

      200

      spark.sql.dicocokkan HashJoinFactor

      Mendefinisikan faktor perkalian yang digunakan untuk menentukan kelayakan shuffle hash join. Gabungan hash shuffle dipilih ketika ukuran data sisi kecil dikalikan dengan faktor ini kurang dari ukuran data sisi besar.

      3

      spark.sql.sources.paralel PartitionDiscovery.threshold

      Menetapkan jumlah maksimum jalur untuk daftar file sisi driver dengan sumber berbasis file (Parquet, JSON, dan ORC). Ketika terlampaui selama penemuan partisi, file dicantumkan menggunakan pekerjaan terdistribusi Spark terpisah.

      32

      spark.sql.statistics.histogram.enabled

      Menentukan apakah akan menghasilkan histogram setinggi selama perhitungan statistik kolom untuk meningkatkan akurasi estimasi. Membutuhkan pemindaian tabel tambahan di luar yang diperlukan untuk statistik kolom dasar.

      false

      percikan dinamis Allocation.executorIdleTimeout

      Menetapkan durasi eksekutor harus diam sebelum dihapus saat alokasi dinamis diaktifkan.

      60-an

      percikan dinamis Allocation.schedulerBacklogTimeout

      Menetapkan durasi tugas yang tertunda harus backlog sebelum pelaksana baru diminta saat alokasi dinamis diaktifkan.

      1 detik

      percikan dinamis Allocation.sustainedSchedulerBacklogTimeout

      Sama seperti spark.dynamicAllocation.schedulerBacklogTimeout, tetapi hanya digunakan untuk permintaan eksekutor berikutnya.

      (nilai spark.dynamicAllocation.schedulerBacklogTimeout)

      spark.scheduler.min RegisteredResourcesRatio

      Menetapkan rasio minimum sumber daya terdaftar (sumber daya terdaftar/total sumber daya yang diharapkan) untuk menunggu sebelum penjadwalan dimulai. Ditentukan sebagai ganda antara 0,0 dan 1,0. Terlepas dari apakah rasio minimum sumber daya telah tercapai, jumlah waktu maksimum yang akan menunggu sebelum penjadwalan dimulai dikendalikan oleh spark. RegisteredResourcesWaitingTime scheduler.max.

      0.8

      spark.scheduler.max RegisteredResourcesWaitingTime

      Menetapkan jumlah waktu maksimum untuk menunggu sumber daya mendaftar sebelum penjadwalan dimulai.

      30-an

      spark.sql.hive.metastore PartitionPruningFallbackOnException

      Menentukan apakah akan kembali mendapatkan semua partisi dari Hive metastore dan melakukan pemangkasan partisi di sisi klien Spark saat bertemu MetaException dari metastore.

      false

      spark.sql.cross Join.enabled

      Menentukan apakah akan mengizinkan kueri yang berisi produk cartesian tanpa sintaks CROSS JOIN eksplisit.

      true

      spark.sql.analyzer.maxIterations

      Menetapkan jumlah maksimum iterasi yang dijalankan oleh query Analyzer sebelum menyerah. Nilai yang lebih tinggi memungkinkan penganalisis untuk memproses kueri yang sangat besar atau sangat bersarang.

      100

      spark.sql.dataprefetch.filescan.max ParallelismPerTask

      Menetapkan jumlah maksimum pemisahan file untuk pra-pengambilan secara bersamaan untuk setiap tugas saat memindai file.

      4

      spark.sql.iceberg.data-prefetch.enabled

      Menentukan apakah akan mengaktifkan pengoptimalan pra-pengambilan data saat membaca Iceberg tabel.

      true

      spark.sql.legacy.null ValueWrittenAsQuotedEmptyStringCsv

      Menentukan apakah akan mengembalikan perilaku lama penulisan nol sebagai string kosong yang dikutip dalam keluaran CSV. Jika salah, Spark menulis nol sebagai string kosong yang tidak dikutip.

      false

      percikan maks RemoteBlockSizeFetchToMem

      Menetapkan ambang ukuran di mana Spark mengambil blok jarak jauh ke disk alih-alih memori. Ini menghindari satu permintaan besar yang menghabiskan terlalu banyak memori.

      200m

      spark.emr-serverless.allocation.batch.size

      Menetapkan jumlah pelaksana untuk diminta sekaligus di setiap putaran alokasi pelaksana.

      20

      Nama Properti Deskripsi nilai default

      spark.sql.auto BroadcastJoinThreshold

      Menetapkan ukuran tabel maksimum dalam byte untuk penyiaran ke node pekerja selama bergabung. Setel ke -1 untuk menonaktifkan penyiaran.

      10MB (-1 untuk CR.4X dengan 32 pekerja)

      percikan dinamis Allocation.enabled

      Menentukan apakah akan menggunakan alokasi sumber daya dinamis, yang menskalakan jumlah pelaksana yang terdaftar dengan aplikasi ini naik dan turun berdasarkan beban kerja.

      true

      spark.files.fetch Failure.unRegisterOutputOnHost

      Menentukan apakah akan membatalkan pendaftaran semua output peta pada host ketika kegagalan pengambilan terjadi. Jika salah, Spark membatalkan pendaftaran hanya output dari eksekutor tertentu yang gagal, yang mengurangi perhitungan ulang tahap yang tidak perlu.

      false

      spark.io.kompressi.codec

      Menetapkan codec yang digunakan untuk mengompres data internal seperti partisi RDD, log peristiwa, variabel siaran, dan keluaran shuffle. Nilai yang didukung: lz4, snappy, zstd, gzip.

      tajam

      Spark.sql.session.Zona waktu

      Mendefinisikan zona waktu sesi untuk menangani stempel waktu dalam literal string dan konversi objek Java. Menerima:

      • Region-based ID dalam area/city format (seperti America/Los _Angeles)

      • Zona offset dalam HH:mm:ss format (+/-) HH, (+/-)HH:mm, atau (+/-) (seperti -08 atau + 01:00)

      • UTC atau Z sebagai alias untuk + 00:00

      UTC

    3. Untuk Retensi data dalam hari, masukkan jumlah hari untuk menyimpan data.

    4. Untuk format Hasil, pilih CSV atau Parquet sebagai format data yang harus digunakan saluran input ML.

  8. Untuk akses Layanan, pilih nama peran layanan yang ada yang akan digunakan untuk mengakses tabel ini atau pilih Buat dan gunakan peran layanan baru.

  9. Untuk Enkripsi, pilih Enkripsi rahasia dengan kunci KMS khusus untuk menentukan kunci KMS Anda sendiri dan informasi terkait. Jika tidak, Clean Rooms ML akan mengelola enkripsi.

  10. (Opsional) Untuk Compute payer, pilih anggota kolaborasi yang membayar biaya komputasi kueri.

    catatan

    Jika hanya ada satu kandidat pembayar untuk perhitungan kueri dalam kolaborasi, defaultnya adalah pembayar itu.

  11. (Opsional) Untuk pembayar pembuatan data sintetis, pilih anggota kolaborasi yang membayar biaya pembuatan data sintetis.

    catatan

    Opsi ini muncul ketika saluran input ML menggunakan template analisis yang dikonfigurasi untuk output data sintetis. Jika hanya ada satu kandidat pembayar untuk pembuatan data sintetis dalam kolaborasi, itu default ke pembayar itu.

  12. Pilih Buat saluran input ML.

    Ini akan memakan waktu beberapa menit untuk membuat saluran input ML. Anda dapat melihat daftar saluran input ML pada tab model ML.

catatan

Setelah saluran input ML dibuat, Anda tidak dapat mengeditnya.

API

Untuk membuat saluran input ML (API)

Jalankan kode berikut dengan parameter spesifik Anda:

import boto3 acr_client = boto3.client('cleanroomsml') acr_client.create_ml_input_channel( name="ml_input_channel_name", membershipIdentifier='membership_id', configuredModelAlgorithmAssociations=[configured_model_algorithm_association_arn], retentionInDays=1, inputChannel={ "dataSource": { "protectedQueryInputParameters": { "sqlParameters": { "queryString": "select * from table", "computeConfiguration": { "worker": { "type": "CR.1X", "number": 16, "properties": { "spark": { "spark configuration key": "spark configuration value", } } } }, "resultFormat": "PARQUET" } } }, "roleArn": "arn:aws:iam::111122223333:role/role_name" } ) channel_arn = resp['ML Input Channel ARN']