Apakah ada cara untuk menjaga variabel (tabel besar / bingkai data) dalam memori dan membaginya di beberapa notebook ipython?
Saya akan mencari sesuatu, yang secara konseptual mirip dengan variabel gigih MATLAB. Ada kemungkinan untuk memanggil fungsi kustom / pustaka dari beberapa editor individu (notebook), dan memiliki fungsi eksternal yang menyimpan beberapa hasil (atau tabel besar).
Sebagian besar saya ingin menghindari memuat ulang tabel yang banyak digunakan (yang dimuat melalui perpustakaan khusus yang disebut dari notebook), karena membaca dibutuhkan sekitar 2-3 menit setiap kali saya memulai analisis baru.
Jawaban:
Jika ini penting untuk kasus penggunaan Anda, Anda bisa mencoba beralih ke Apache Zeppelin. Karena semua buku catatan Spark ada berbagi konteks Spark yang sama, lingkungan menjalankan Python yang sama. https://zeppelin.apache.org/
Jadi apa yang Anda minta terjadi secara asli di Zeppelin. Atau lebih lengkapnya, ini adalah opsi untuk berbagi konteks Spark yang sama / lingkungan Python yang sama di antara semua notebook Spark (mereka disebut 'catatan' di Zeppelin):
Jadi Anda dapat memilih untuk berbagi konteks secara global (perilaku Zeppelin default), Per Note (satu-satunya perilaku Jupyter yang mungkin), atau Per Pengguna.
Jika Anda tidak bisa / tidak ingin beralih ke Zeppelin, lihat opsi lain untuk berbagi kerangka data umum antara notebook Anda menggunakan:
ps. Anda tidak dapat mengimpor file ipynb ke Zeppelin saat ini (sekarang memiliki format notebook sendiri yang disimpan sebagai file json), hingga https://issues.apache.org/jira/browse/ZEPPELIN-1793 diimplementasikan; meskipun tidak sulit untuk mengubahnya secara manual dalam banyak kasus.
sumber