Menggunakan perintah ajaib - Amazon Athena

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

Menggunakan perintah ajaib

Perintah ajaib, atausihir, adalah perintah khusus yang dapat Anda jalankan di sel notebook. Sebagai contoh,%envmenunjukkan variabel lingkungan dalam sesi notebook. Athena mendukung fungsi ajaib di iPython 6.0.3.

Bagian ini menunjukkan beberapa perintah sihir kunci di Athena untuk Apache Spark.

  • Untuk melihat daftar perintah ajaib di Athena, jalankan perintah%lsmagicdi sel notebook.

  • Untuk informasi tentang menggunakan sihir untuk membuat grafik di notebook Athena, lihatMagics untuk membuat grafik data.

  • Untuk informasi tentang perintah ajaib tambahan, lihatPerintah ajaib bawaandalam dokumentasi IPython.

catatan

Saat ini,%pipperintah gagal saat dieksekusi. Ini adalah masalah yang diketahui.

Sihir sel

Sihir yang ditulis pada beberapa baris didahului oleh tanda persen ganda (%%) dan disebutfungsi sihir selatausihir sel.

%%sql

Sihir sel ini memungkinkan untuk menjalankan pernyataan SQL secara langsung tanpa harus menghiasnya dengan pernyataan Spark SQL. Perintah ini juga menampilkan output dengan memanggil secara implisit.show()pada dataframe yang dikembalikan.


                    Menggunakan%%sql.

Yang%%sqlperintah auto memotong output kolom dengan lebar 20 karakter. Saat ini, pengaturan ini tidak dapat dikonfigurasi. Untuk mengatasi batasan ini, gunakan sintaks lengkap berikut dan ubah parametershowmetode yang sesuai.

spark.sql("""YOUR_SQL""").show(n=number, truncate=number, vertical=bool)
  • n int, opsional. Jumlah baris untuk ditampilkan.

  • memotongboolatauint, opsional - Jikatrue, memotong string lebih dari 20 karakter. Ketika diatur ke angka yang lebih besar dari 1, memotong string panjang dengan panjang yang ditentukan dan sel sejajar kanan.

  • vertikalbool, opsional. Jikatrue, mencetak baris keluaran secara vertikal (satu baris per nilai kolom).

Garis Magics

Sihir yang berada pada satu baris didahului oleh tanda persen (%) dan disebutfungsi sihir garisatausihir garis.

%bantuan

Menampilkan deskripsi dari perintah ajaib yang tersedia.


                    Menggunakan%help.

%list_session

Daftar sesi yang terkait dengan notebook. Informasi untuk setiap sesi mencakup ID sesi, status sesi, dan tanggal dan waktu sesi dimulai dan berakhir.


                    Menggunakan%list_sessions.

%session_id

Mengambil ID sesi saat ini.


                    Menggunakansession_id.

%set_log_level

Set atau me-reset logger untuk menggunakan tingkat log yang ditentukan. Nilai yang mungkin adalahDEBUG,ERROR,FATAL,INFO, danWARNatauWARNING. Nilai harus huruf besar dan tidak boleh dilampirkan dalam tanda kutip tunggal atau ganda.


                    Menggunakan%set_log_level.

%status

Menjelaskan sesi saat ini. Outputnya meliputi ID sesi, status sesi, nama workgroup,PySparkversi mesin, dan waktu mulai sesi. Perintah ajaib ini membutuhkan sesi aktif untuk mengambil rincian sesi.

Berikut ini adalah nilai yang mungkin untuk status:

MENCIPTAKAN— Sesi sedang dimulai, termasuk memperoleh sumber daya.

DIBUAT— Sesi telah dimulai.

MENGANGGUR— Sesi ini dapat menerima perhitungan.

SIBUK- Sesi ini memproses tugas lain dan tidak dapat menerima perhitungan.

MENGAKHIRI— Sesi sedang dalam proses mematikan.

MENGAKHIRI- Sesi dan sumber dayanya tidak lagi berjalan.

TERDEGRADASI— Sesi ini tidak memiliki koordinator yang sehat.

GAGAL- Karena kegagalan, sesi dan sumber dayanya tidak lagi berjalan.


                    Menggunakan%status.

Magics untuk membuat grafik data

Sihir garis di bagian ini mengkhususkan diri dalam rendering data untuk jenis data tertentu atau dalam hubungannya dengan perpustakaan grafik.

%tabel

Anda dapat menggunakan%tableperintah ajaib untuk menampilkan data dataframe dalam format tabel.

Contoh berikut membuat dataframe dengan dua kolom dan tiga baris data, kemudian menampilkan data dalam format tabel.


                Menggunakan perintah% table magic.

%matplot

Matplotlibadalah perpustakaan yang komprehensif untuk membuat visualisasi statis, animasi, dan interaktif dengan Python. Anda dapat menggunakan%matplotperintah ajaib untuk membuat grafik setelah Anda mengimpor perpustakaan matplotlib ke dalam sel notebook.

Contoh berikut mengimpor perpustakaan matplotlib, menciptakan satu set x dan y koordinat, dan kemudian menggunakan penggunaan%matplotperintah sihir untuk membuat grafik poin.

import matplotlib.pyplot as plt x=[3,4,5,6,7,8,9,10,11,12] y= [9,16,25,36,49,64,81,100,121,144] plt.plot(x,y) %matplot plt

                Menggunakan perintah% matplot magic.

Menggunakan perpustakaan matplotlib dan seaborn bersama-sama

Seabornadalah perpustakaan untuk membuat grafik statistik dengan Python. Ini dibangun di atas matplotlib dan terintegrasi erat denganpanda(Analisis data Python) struktur data. Anda juga dapat menggunakan%matplotperintah ajaib untuk membuat data seaborn.

Contoh berikut menggunakan kedua pustaka matplotlib dan seaborn untuk membuat grafik batang sederhana.

import matplotlib.pyplot as plt import seaborn as sns x = ['A', 'B', 'C'] y = [1, 5, 3] sns.barplot(x, y) %matplot plt

                    Menggunakan %matplot untuk membuat data seaborn.

%plotal

Plotlyadalah perpustakaan grafik open source untuk Python yang dapat Anda gunakan untuk membuat grafik interaktif. Anda menggunakan%plotyperintah sihir untuk membuat data ploty.

Contoh berikut menggunakanStringIo, plotly, dan panda perpustakaan pada data harga saham untuk membuat grafik aktivitas saham dari Februari dan Maret 2015.

from io import StringIO csvString = """ Date,AAPL.Open,AAPL.High,AAPL.Low,AAPL.Close,AAPL.Volume,AAPL.Adjusted,dn,mavg,up,direction 2015-02-17,127.489998,128.880005,126.919998,127.830002,63152400,122.905254,106.7410523,117.9276669,129.1142814,Increasing 2015-02-18,127.629997,128.779999,127.449997,128.720001,44891700,123.760965,107.842423,118.9403335,130.0382439,Increasing 2015-02-19,128.479996,129.029999,128.330002,128.449997,37362400,123.501363,108.8942449,119.8891668,130.8840887,Decreasing 2015-02-20,128.619995,129.5,128.050003,129.5,48948400,124.510914,109.7854494,120.7635001,131.7415509,Increasing 2015-02-23,130.020004,133,129.660004,133,70974100,127.876074,110.3725162,121.7201668,133.0678174,Increasing 2015-02-24,132.940002,133.600006,131.169998,132.169998,69228100,127.078049,111.0948689,122.6648335,134.2347981,Decreasing 2015-02-25,131.559998,131.600006,128.149994,128.789993,74711700,123.828261,113.2119183,123.6296667,134.0474151,Decreasing 2015-02-26,128.789993,130.869995,126.610001,130.419998,91287500,125.395469,114.1652991,124.2823333,134.3993674,Increasing 2015-02-27,130,130.570007,128.240005,128.460007,62014800,123.510987,114.9668484,124.8426669,134.7184854,Decreasing 2015-03-02,129.25,130.279999,128.300003,129.089996,48096700,124.116706,115.8770904,125.4036668,134.9302432,Decreasing 2015-03-03,128.960007,129.520004,128.089996,129.360001,37816300,124.376308,116.9535132,125.9551669,134.9568205,Increasing 2015-03-04,129.100006,129.559998,128.320007,128.539993,31666300,123.587892,118.0874253,126.4730002,134.8585751,Decreasing 2015-03-05,128.580002,128.75,125.760002,126.410004,56517100,121.539962,119.1048311,126.848667,134.5925029,Decreasing 2015-03-06,128.399994,129.369995,126.260002,126.599998,72842100,121.722637,120.190797,127.2288335,134.26687,Decreasing 2015-03-09,127.959999,129.570007,125.059998,127.139999,88528500,122.241834,121.6289771,127.631167,133.6333568,Decreasing 2015-03-10,126.410004,127.220001,123.800003,124.510002,68856600,119.71316,123.1164763,127.9235004,132.7305246,Decreasing """ csvStringIO = StringIO(csvString) from io import StringIO import plotly.graph_objects as go import pandas as pd from datetime import datetime df = pd.read_csv(csvStringIO) fig = go.Figure(data=[go.Candlestick(x=df['Date'], open=df['AAPL.Open'], high=df['AAPL.High'], low=df['AAPL.Low'], close=df['AAPL.Close'])]) %plotly fig

                Menggunakan perintah% ploty magic.