Lewati ke konten utama

Cara Menjalankan Python/R di SQL

Setelah membaca tutorial ini, Anda akan tahu cara menyematkan skrip R & Python dalam pernyataan T-SQL dan mengetahui jenis data apa yang digunakan untuk meneruskan data antara SQL & Python/R.
Diperbarui 28 Sep 2026  · 6 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

membawa kecerdasan ke tempat data berada

Pengantar

Tahukah Anda bahwa Anda dapat menulis kode R dan Python di dalam pernyataan T-SQL? Machine Learning Services di SQL Server menghilangkan kebutuhan pemindahan data. Alih-alih mentransfer data yang besar dan sensitif melalui jaringan atau kehilangan akurasi dengan file csv sampel, Anda dapat menjalankan kode R/Python langsung di dalam basis data Anda. Terapkan kode R/Python dengan mudah menggunakan prosedur tersimpan SQL sehingga dapat diakses dalam proses ETL Anda atau oleh aplikasi apa pun. Latih dan simpan model machine learning di basis data Anda untuk menghadirkan kecerdasan di tempat data Anda berada.

Anda dapat memasang dan menjalankan paket R/Python open source terbaru untuk membangun aplikasi Deep Learning dan AI pada sejumlah besar data di SQL Server. Ada juga algoritma terdepan berkinerja tinggi dalam API RevoScaleR dan RevoScalePy milik Microsoft. Menggunakan ini bersama inovasi terbaru di dunia open source memungkinkan Anda menghadirkan pilihan, kinerja, dan skala yang tak tertandingi ke aplikasi Anda.

mengapa analitik dalam basis data dengan sql server

Jika Anda antusias mencoba SQL Server Machine Learning Services, simak tutorial praktis di bawah ini. Jika Anda belum memasang Machine Learning Services di SQL Server, pertama-tama ikuti tutorial memulai yang dipublikasikan di sini: https://blogs.msdn.microsoft.com/mlserver/2018/05/18/getting-started-with-machine-learning-services-in-sql-server/

Tutorial Cara

Apa yang akan Anda pelajari

Tutorial ini akan membahas dasar-dasar cara Menjalankan R dan Python dalam pernyataan T-SQL. Setelah menyelesaikan tutorial, Anda akan mengetahui:

  1. Cara menyematkan skrip R dan Python dalam pernyataan T-SQL.
  2. Cara menggunakan parameter dasar untuk menentukan data masuk dan keluar ke skrip R/Python.
  3. Jenis data apa yang digunakan untuk meneruskan data antara proses SQL dan Python/R.

Prasyarat Penyiapan

Jika Anda belum memasang Machine Learning Services di SQL Server, pertama-tama bacalah tutorial memulai ini atau tonton video berikut untuk melakukan penyiapan: https://aka.ms/InstallMLServices https://aka.ms/EnableMLServices

Pendamping video

Jika Anda suka belajar melalui video, tutorial ini juga tersedia di YouTube: @https://aka.ms/ExecuteMLServices https://youtu.be/ACejZ9optCQ

Dasar-dasar

Buka SQL Server Management Studio dan sambungkan ke server Anda. Buka kueri baru dan tempel contoh dasar ini: (Walau Python digunakan dalam contoh ini, Anda juga bisa melakukan semuanya dengan R)

EXEC sp_execute_external_script @language = N'Python',
@script = N'print(3+4)'

Sp_execute_external_script adalah prosedur tersimpan sistem khusus yang memungkinkan eksekusi R dan Python di SQL Server. Ada parameter language yang memungkinkan Anda memilih antara Python dan R. Ada parameter script tempat Anda dapat menempelkan kode R atau Python. Jika Anda tidak melihat keluaran print 7, kembali dan tinjau langkah penyiapan dalam artikel ini.

Pengenalan Parameter

Setelah membahas contoh dasar, mari mulai menambahkan lebih banyak bagian:

EXEC sp_execute_external_script @language =N'Python',
@script = N'
OutputDataSet = InputDataSet;
',
@input_data_1 =N'SELECT 1 AS Col1';

Machine Learning Services menyediakan komunikasi yang lebih alami antara SQL dan R/Python dengan parameter data masukan yang menerima kueri SQL apa pun. Nama parameter masukan adalah input_data_1.

Anda dapat melihat dalam kode python bahwa ada variabel bawaan yang ditetapkan untuk meneruskan data antara Python dan SQL. Nama variabel default adalah OutputDataSet dan InputDataSet. Anda dapat mengubah nama default ini seperti pada contoh berikut:

EXEC sp_execute_external_script @language =N'Python',
@script = N'
MyOutput = MyInput;
',
@input_data_1_name = N'MyInput',
@input_data_1 =N'SELECT 1 AS foo',
@output_data_1_name =N'MyOutput';

Saat Anda menjalankan contoh-contoh ini, Anda mungkin memperhatikan bahwa masing-masing mengembalikan hasil dengan (No column name)? Anda dapat menentukan nama untuk kolom yang dikembalikan dengan menambahkan klausa WITH RESULT SETS di akhir pernyataan, yaitu daftar kolom dan tipe datanya yang dipisahkan koma.

EXEC sp_execute_external_script  @language =N'Python',
@script=N'
MyOutput = MyInput;
',
@input_data_1_name = N'MyInput',
@input_data_1 =N'SELECT 1 AS foo,2 AS bar',
@output_data_1_name =N'MyOutput'
WITH RESULT SETS ((MyColName int, MyColName2 int));

Jenis Data Input/Output

Baik, mari bahas sedikit lebih jauh tentang jenis data input/output yang digunakan antara SQL dan Python. Pernyataan SQL SELECT masukan Anda meneruskan sebuah "DataFrame" ke python dengan mengandalkan paket Python Pandas. Keluaran Anda dari Python kembali ke SQL juga perlu berupa objek Pandas DataFrame. Jika Anda perlu mengonversi nilai skalar menjadi DataFrame, berikut contohnya:

EXEC sp_execute_external_script @language =N'Python',
@script=N'
import pandas as pd
c = 1/2
d = 1*2
s = pd.Series([c,d])
df = pd.DataFrame(s)
OutputDataSet = df
'

Variabel c dan d keduanya adalah nilai skalar, yang dapat Anda tambahkan ke Series pandas jika diinginkan, lalu mengonversinya menjadi Pandas DataFrame. Berikut contoh yang sedikit lebih rumit, bacalah dokumentasi paket pandas di python untuk detail dan contoh lainnya:

EXEC sp_execute_external_script @language =N'Python',
@script=N'
import pandas as pd
s = {"col1": [1, 2], "col2": [3, 4]}
df = pd.DataFrame(s)
OutputDataSet = df
'

Sekarang Anda mengetahui dasar-dasar cara menjalankan R dan Python di T-SQL! Sangat mudah memanggil EXEC sp_execute_external_script, salin/tempel kode R atau Python Anda, dan salin/tempel select input SQL Anda. Mungkin Anda perlu melakukan transformasi atau ekstraksi data yang sederhana di R/Python tetapi terlalu rumit untuk ditulis di SQL. Mungkin Anda sedang melatih jaringan saraf dalam pada sejumlah besar data yang terlalu besar untuk dikirim melalui jaringan. Mungkin Anda ingin secara otomatis melakukan penilaian/prediksi pada data baru yang masuk ke sistem OLTP Anda. Kasus penggunaannya luas, dan kini Anda siap meningkatkan keamanan, kinerja, dan skala dengan Machine Learning Services di SQL Server.

Bacaan Lanjutan

Tahukah Anda bahwa Anda juga dapat menulis kode R dan Python di IDE favorit Anda seperti RStudio dan Jupyter Notebooks lalu mengirimkan eksekusi kode tersebut ke SQL Server dari jarak jauh? Lihat tautan dokumentasi berikut untuk mempelajari lebih lanjut: Dokumentasi: https://aka.ms/R-RemoteSQLExecution Dokumentasi: https://aka.ms/R-RemoteSQLExecution Contoh Github Jupyter Notebook: https://aka.ms/RemoteExecJupyter

Jika Anda ingin mempelajari lebih lanjut tentang SQL, lihat kursus Intro to SQL for Data Science kami dan pusat cara belajar SQL kami..

Topik
SQL
Data Science
Python
R

Pelajari lebih lanjut tentang SQL

Kursus

Manipulasi Data di SQL

4 jam
337.2K
Kuasai kueri SQL yang kompleks yang diperlukan untuk menjawab berbagai pertanyaan ilmu data dan menyiapkan set data yang kuat untuk analisis di PostgreSQL.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya