PySpark Snowflake Data Warehouse Operasi Baca Tulis – Part2 (Baca-Tulis) – Menuju AI – Teknologi, Sains, dan Teknik Terbaik

Penulis: Vivek Chaudhary

Pemrograman

PySpark Snowflake Data Warehouse Operasi Baca Tulis – Part2 (Baca-Tulis)

Tujuan dari cerita ini adalah untuk membangun pemahaman tentang operasi Baca dan Tulis pada tabel gudang Data Snowflake menggunakan Apache Spark API, Pyspark. Sebagai kelanjutan dari website saya sebelumnya, tautan yang dibagikan di bawah ini, dari operasi Baca Kepingan Salju PySpark, ini adalah site saya saat ini dan saya telah membahas kasus penggunaan untuk melakukan operasi tulis pada tabel Database Kepingan Salju.

Part1 bisa b

PySpark Snowflake Data Warehouse Operasi Baca Tulis – Part1 (Hanya Baca)

Di site ini hanya untuk membuat segalanya lebih beragam atau real time, di mana kami memiliki banyak sumber, saya telah menggunakan sumber data yang berbeda seperti document Apache Parquet yang ada di HDFS (diinstal pada sistem lokal), Oracle Database. Kami akan mengekstrak information melakukan transformasi sederhana pada dataset dan menulis yang sama ke Snowflake DB.

Spark Connectivity dan Import Dataset import pyspark
dari pyspark.sql impor SparkSession
print (‘modules import’) spark = SparkSession.builder.appName (‘Pyspark_snowflake’). getOrCreate ()
print (‘aplikasi dibuat’) #snowflake pengaturan properti spark. _jvm.net.snowflake.spark.snowflake.SnowflakeConnectorUtils.enablePushdownSession (spark. _jvm.org.apache.spark.sql.SparkSession.builder (). getOrCreate ())

Impor document Parket dari HDFS lokal:

Parket di HDFS
emp_df = spark.read.parquet (r’hdfs: // localhost: 9000 / understanding / emp’)
emp_df. Series (15)
Information Emp

Impor catatan Tabel Database Oracle:

Number
dept_df = spark.read.format (‘jdbc’). Alternative (‘url’,”jdbc: oracle: thin: scott /[email¬†protected]//localhost:1522/oracle’).option(‘dbtable’,’ dept’). Alternative (‘ consumer’,’ scott’). Alternative (‘ password’,’ scott’). Alternative (‘ driver ‘,” oracle.jdbc.driver.OracleDriver’). Load () dept_df. Series ()
Dept Data

2. ) Transformasi Data

Dalam Transformasi Data, kami akan melakukan transformasi sederhana seperti mengganti nama kolom dan menggabungkan kumpulan info, karena ruang lingkup cerita ini adalah untuk memahami konektivitas dengan Snowflake.

#rename Dataframe kolom emp_df = emp_df. WithColumnRenamed (‘DEPTNO’,”DEPTNO_E’) #gabung dengan emp dan dataset dept join_df = dept_df. Combine (emp_df, emp_df. DEPTNO_E == dept_df. DEPTNO, the way =’internal’) #c.DEPTNO( the way =’internal’) #c.DEPTNO closing dataframe final_df = join_df. Pick (‘EMPNO’,’ENAME’,’SAL’,”DEPTNO’,”DNAME’)
final_df. Series ()
Establish Data Akhir

3. ) Pengaturan kepingan salju

#set properti kepingan salju di bawah ini untuk konektivitas sfOptions = {
“SfURL”: “wa29709.ap-south-1. Aws.snowflakecomputing.com”,
“SfAccount”:”xxxxxxx”,
“SfUser”:”xxxxxxxxx”,
“SfPassword”:”xxxxxxxx”,
“SfDatabase”:”learning_db”,
“SfSchema”:”publik”,
“SfWarehouse”:”compute_wh”,
“SfRole”:”sysadmin”,
}

SNOWFLAKE_SOURCE_NAME =”net.snowflake.spark.snowflake”

Buat tabel goal Snowflake menggunakan skrip di bawah ini:

Buat tabel emp_dept (empno integer,
ename series,
akan berintegrasi,
deptno integer,
series nama d);
Meja Kepingan Salju

4. ) Muat DataFrame Pyspark ke goal Snowflake

#pyspark dataframe into snowflake final_df. write.format (“snowflake”). Choices (** sfOptions) .option (“dbtable”,”emp_dept”). Style (‘append’). Choices (header = True) .save ( )

Validasi info dalam kepingan salju menggunakan SnowSQL:

Validasi information

Kami berhasil membaca kumpulan info dari berbagai sumber dan memuat bingkai Spark Data ke tabel Snowflake DataBase.

Terima kasih untuk semua telah membaca website saya. Bagikan pandangan dan umpan balik Anda.

Operasi tulis PySpark Snowflake Data Warehouse – Part2 (Read-Write) awalnya diterbitkan di Limit AI on Moderate, di mana orang-orang melanjutkan percakapan dengan menyorot dan menanggapi cerita ini.

Diterbitkan melalui Towards AI