इलम में नोटबुक का उपयोग कैसे करें
This page demonstrates identical example notebooks implemented in both बृहस्पति (compatible with ज्यूपिटरलैब और ज्यूपिटरहब) and ज़ेपलिन, allowing you to quickly compare how typical workflows map between these environments.
Each notebook is organized into four logical sections:
- Narrative (Markdown) – Rich text with images introducing the task.
- Generate Test Data – Python (or Scala) code creating a small synthetic dataset.
- Transform Data – Spark code that cleans or aggregates the data.
- गतिशील चार्ट – An interactive visualization, refreshable after each run.
Guide for Jupyter Notebooks (Lab & Hub)
विहंगावलोकन
In Ilum, Jupyter notebooks are accessible via both ज्यूपिटरलैब और ज्यूपिटरहब. For end users, the experience is functionally identical in both, especially when working with Spark and Ilum integrations.
By default, Python code cells execute locally on the Jupyter server. To leverage Spark on a remote cluster, you need to use Spark Magic—a Jupyter extension that enables code execution on a Spark cluster through the Livy API. In Ilum, the default Livy API is replaced with इलम लिवी प्रॉक्सी, which ensures seamless integration with Ilum’s storage, metastore, lineage, and monitoring features.
Jupyter (both Lab and Hub) provides four primary kernels:
Python Kernel: The default Jupyter kernel, which runs Python code on the Jupyter server. PySpark Kernel: A Spark kernel that runs your Python code on a remote Spark cluster. Spark Kernel: A Scala kernel that runs your Scala code on a remote Spark cluster.
- पायथन कर्नेल – The default Jupyter kernel, which runs Python code on the Jupyter server.
- PySpark Kernel – A Spark kernel that runs your Python code on a remote Spark cluster.
- Spark Kernel – A Scala kernel that runs your Scala code on a remote Spark cluster.
Spark Session Management
To use a remote Spark cluster from a standard Python kernel, first load Spark Magic:
%load_ext sparkmagic.magics
Next, open the Spark session management panel:
%manage_spark
Using this panel, you can perform the following tasks:
सत्र प्रबंधित करें
वही सत्र प्रबंधित करें tab displays all available Spark sessions. Here you can see the session's name, ID, kernel type (e.g., pyspark for Python), and its current state. You can also delete sessions you no longer need.
Create Session
वही Create Session tab allows you to launch a new Spark session.
To create a session, provide a name for your session, select a language (Scala or Python), and specify Spark parameters. Finally, click Create Session.
[Full details on session creation and available parameters can be found यहाँ.]
Add Endpoint
में Add Endpoint tab, you can register additional Livy endpoints. Choose the authentication type (e.g., Kerberos) and provide the Livy server address, then click Add endpoint. This is useful if you need to connect to a custom Livy deployment instead of the preconfigured Ilum-Livy-Proxy endpoint.
समापन बिंदु प्रबंधित करें
वही समापन बिंदु प्रबंधित करें tab lists all configured Livy endpoints, along with all active or historical Spark sessions associated with them. You can view session details, including session IDs, Spark UI links, and driver logs. You can also remove endpoints or clean up old sessions directly from this panel.
Ilum Workloads Page
After creating a session, you can track your active code services on the Ilum Workloads page.
Services created via Spark Magic sessions are named with the prefix इलम-लिवी-प्रॉक्सी-सत्र and can be monitored, paused, or deleted just like any other Ilum service.
Creating a Spark Session
To create a new Spark session, open the management panel and select Create Session.
You will be asked to fill in a form with the following parameters:
Basic Settings:
-
Endpoint
The Livy endpoint address used to connect to the Spark cluster. This field is configured automatically, but if needed, you can add an endpoint to your own Livy service. -
गुच्छा
The name of the Kubernetes cluster where the session will run. -
Session Name
A custom name for your Spark session, used for identification. -
भाषा
The programming language for the Spark session:pythonनहीं तोscala. -
Spark Image
The Docker image that defines the Spark runtime environment (e.g.,ilum/spark:3.5.6-delta).
You can also use your own custom images, but for full compatibility we recommend building them on top of the official Spark base images published by ILUM on Docker Hub. -
Extra Packages
Additional Python packages to install in the session.
उदाहरण:numpy;pandas -
Enable autopause
Automatically pauses the session when it is idle. After the configured idle time, the session remains available, but the first request will start the pod(s) and executors before executing your code, resulting in a slightly longer waiting time for the first command.
The autopause settings are managed globally via Helm values:--set ilum-core.job.autoPause.idleTime=3600controls the idle time (in seconds) after which the group is paused,--set ilum-core.job.autoPause.period=180controls how often (in seconds) the idle state is checked.
Executor Settings:
-
Executor Memory
Amount of RAM allocated to each Spark executor (e.g.,2G).
Supported units:M(megabytes),G(gigabytes),T(terabytes). -
Executor Cores
Number of CPU cores for each executor. -
Number of Executors
Total number of executors to start in the session.
Driver Settings:
-
Driver Memory
Amount of RAM allocated to the Spark driver process (e.g.,1G).
Supported units:M(megabytes),G(gigabytes),T(terabytes). -
Driver Cores
Number of CPU cores for the Spark driver.
More Advanced Options:
-
Custom Spark Config
Additional Spark configuration as a JSON object.
This field is equivalent to thepropertiesfield in the old Sparkmagic version.
महत्वपूर्ण: Any parameter provided in this field will override the corresponding Spark property from the other fields, so use it with caution.
उदाहरण:{ "spark.sql.shuffle.partitions": "200" } -
SQL Extension
The Spark SQL extension class name, often required for Delta Lake, Hudi, Nessie etc.
उदाहरण:io.delta.sql.DeltaSparkSessionExtension -
Driver Extra Java Options
Extra Java options passed to the Spark driver process.
उदाहरण:-Divy.cache.dir=/tmp -Divy.home=/tmp -
Executor Extra Java Options
Extra Java options passed to Spark executors.
उदाहरण:-Dconfig=value -
Dynamic Allocation
Enables Spark dynamic resource allocation for executors.
नोट: All options below are only applied if dynamic allocation is enabled.-
Min Executors
Minimum number of executors. -
Initial Executors
Initial number of executors to launch at session start. -
Max Executors
Maximum number of executors allowed during dynamic allocation. -
Shuffle Partitions
Number of partitions used for shuffle operations in Spark SQL.
-
Sessions are isolated per notebook, which means that each open notebook has its own independent computational environment. When running a Spark cell in the Python kernel and having multiple sessions active, you must specify which Spark session to use.
Using Ilum Code Services instead of local pyspark kernel offers several advantages. Ilum automatically preconfigures all Jupyter sessions to integrate seamlessly with your infrastructure modules. For example, sessions are preconfigured to access all storage linked to the default cluster. If the corresponding components are enabled, Spark sessions will:
- हाइव मेटास्टोर तक पहुंचें।
- इलम वंश को डेटा भेजें।
- निगरानी के लिए इतिहास सर्वर को डेटा भेजें।
- इलम द्वारा प्रदान की गई अतिरिक्त कार्यक्षमताओं का लाभ उठाएं।
और आपको मैन्युअल रूप से इसके लिए कॉन्फ़िगरेशन लिखने की आवश्यकता नहीं होगी।
Working with Jupyter
सेट अप करने के बाद, Ilum Code Service के भीतर अपना कोड निष्पादित करने के लिए, आपको %%स्पार्क जादू की आज्ञा। यह मैजिक कमांड आपको इलम द्वारा प्रबंधित रिमोट स्पार्क वातावरण में अपना कोड चलाने की अनुमति देता है।
%%उत्तेजक गुण
# Example data
# ...
इस वातावरण के भीतर, आप वहां बनाए गए सभी चर के साथ-साथ निम्नलिखित स्पार्क संदर्भों तक पहुंच सकते हैं:
- एससी (स्पार्ककॉन्टेक्स्ट)
- sqlContext (HiveContext)
- स्पार्क (स्पार्कसेशन)
यह सेटअप स्पार्क संसाधनों और इलम प्लेटफॉर्म द्वारा प्रदान किए गए किसी भी कॉन्फ़िगरेशन के साथ सहज बातचीत सुनिश्चित करता है।
पायथन उदाहरण:
%%उत्तेजक गुण
डाटा = [
(1, "एन 1-मानक -1", 20.5, 32.1, 15.0),
(2, "एन 1-मानक -1", 30.0, 64.3, 20.0),
(3, "एन 1-मानक -2", 30.2, 16.0, 22.0),
(4, "एन 1-मानक -2", 45.1, 128.5, 40.2),
(5, "ई 2-मध्यम", 25.4, 8.0, 18.3),
(6, "ई 2-मध्यम", 25.3, 12.0, 10.2),
(7, "ई 2-मानक -2", 29.8, 24.5, 14.7),
(8, "ई 2-मानक -2", 35.0, 24.5, 20.5),
(9, "एन 2-हाईसीपीयू -4", 50.2, 64.0, 30.4),
(10, "एन 2-हाईसीपीयू -4", 55.1, 16.0, 35.4),
(11, "एन 1-मानक -8", 80.5, 32.0, 45.6),
(12, "एन 1-मानक -16", 95.1, 128.0, 60.0),
(13, "एन 1-मानक -8", 85.0, 256.0, 90.0),
(14, "एन 1-हाईमेम -2", 40.1, 128.0, 50.0),
(15, "टी 2 ए-मानक -1", 15.2, 2.0, 5.5),
(16, "टी 2 ए-मानक -2", 25.5, 4.0, 7.3),
(17, "एन 1-हाईमेम -2", 60.5, 256.0, 100.0),
(18, "सी 2-मानक -16", 99.9, 6240.0, 120.5),
(19, "A2-HighGPU-1G", 89.2, 256.0, 95.4),
(20, "A2-HighGPU-1G", 100.0, 40.0, 110.0),
]
#using चिंगारी संदर्भ
आरडीडी = अनुसूचित जाति.समानांतर करें(डाटा)
डेटापथ = "s3a://ilum-files/data/performance"
आरडीडी.सेवअसटेक्स्टफ़ाइल(डेटापथ)
#using स्पार्क सत्र
लोमो = उत्तेजक गुण.पढ़ना.सीएसवी(डेटापथ)
लोमो.createOrReplaceTempView("मशीनटेम्प")
परिणाम = उत्तेजक गुण.एसक्यूएल("\
_c0 जैसा machine_id, \
_c1 जैसा machine_type, \
_c2 जैसा cpu_usage, \
_c3 जैसा memory_usage, \
_c4 जैसा time_spent \
मशीनटेम्प से")
परिणाम.createOrReplaceTempView("मशीनस्टैट्स")
परिणाम.प्रदर्शन()
स्काला उदाहरण:
%%उत्तेजक गुण
val डाटा = Seq(
(1, "एन 1-मानक -1", 20.5, 32.1, 15.0),
(2, "एन 1-मानक -1", 30.0, 64.3, 20.0),
(3, "एन 1-मानक -2", 30.2, 16.0, 22.0),
(4, "एन 1-मानक -2", 45.1, 128.5, 40.2),
(5, "ई 2-मध्यम", 25.4, 8.0, 18.3),
(6, "ई 2-मध्यम", 25.3, 12.0, 10.2),
(7, "ई 2-मानक -2", 29.8, 24.5, 14.7),
(8, "ई 2-मानक -2", 35.0, 24.5, 20.5),
(9, "एन 2-हाईसीपीयू -4", 50.2, 64.0, 30.4),
(10, "एन 2-हाईसीपीयू -4", 55.1, 16.0, 35.4),
(11, "एन 1-मानक -8", 80.5, 32.0, 45.6),
(12, "एन 1-मानक -16", 95.1, 128.0, 60.0),
(13, "एन 1-मानक -8", 85.0, 256.0, 90.0),
(14, "एन 1-हाईमेम -2", 40.1, 128.0, 50.0),
(15, "टी 2 ए-मानक -1", 15.2, 2.0, 5.5),
(16, "टी 2 ए-मानक -2", 25.5, 4.0, 7.3),
(17, "एन 1-हाईमेम -2", 60.5, 256.0, 100.0),
(18, "सी 2-मानक -16", 99.9, 6240.0, 120.5),
(19, "A2-HighGPU-1G", 89.2, 256.0, 95.4),
(20, "A2-HighGPU-1G", 100.0, 40.0, 110.0)
)
//using spark context
val आरडीडी = उत्तेजक गुण.स्पार्ककॉन्टेक्स्ट.समानांतर करें(डाटा)
val डेटापथ = "s3a://ilum-files/data/performance"
आरडीडी.सेवअसटेक्स्टफ़ाइल(डेटापथ)
//using spark session
val लोमो = उत्तेजक गुण.पढ़ना.विकल्प("header", "झूठा").सीएसवी(डेटापथ)
लोमो.createOrReplaceTempView("मशीनटेम्प")
val परिणाम = उत्तेजक गुण.एसक्यूएल("""
चुनना
_c0 machine_id के रूप में,
_c1 machine_type रूप में,
_c2 cpu_usage के रूप में,
_c3 memory_usage के रूप में,
_c4 time_spent
मशीनटेम्प से
""")
परिणाम.createOrReplaceTempView("मशीनस्टैट्स")
परिणाम.प्रदर्शन()
तुमसे हो सकता है स्विच के बीच सत्र अपने कोशिकाओं में का उपयोग कर -दक्षिणी उस सत्र का ध्वज और नाम जिसे आप चुनना चाहते हैं.
%%उत्तेजक गुण -एस SESSION_NAME
#your पायथन स्पार्क कोड
# ...
उदाहरण के लिए, यदि आपके पास यह सत्र सूची है:

कहां मेरा सत्र स्पार्क प्रकार का है जो स्कैला भाषा का उपयोग करता है। इसका मतलब है कि यदि आप इस स्कैला स्पार्क सत्र का उपयोग करना चाहते हैं आपको इस तरह सत्र चुनना होगा:
%%उत्तेजक गुण -s scalasession
पायथनसत्र pyspark प्रकार का है जो पायथन भाषा का उपयोग करता है। इसका मतलब है कि यदि आप पायथन स्पार्क सत्र का उपयोग करना चाहते हैं आपको इस तरह सेशन चुनना होगा
%%उत्तेजक गुण -एस पायथनसत्र
आप लॉन्च कर सकते हैं SQL क्वेरीज़ अपने Spark कैटलॉग में का उपयोग करके %%स्पार्क जादू के साथ -सी एसक्यूएल:
%%उत्तेजक गुण -के आसपास एसक्यूएल
चुनना * से मशीनआँकड़े
आप में SQL कमांड के साथ कई झंडे का उपयोग कर सकते हैं इलम कोड सेवा पर्यावरण:
- -o: स्थानीय परिवेश चर निर्दिष्ट करता है जो क्वेरी के परिणाम को संग्रहीत करेगा. सत्रों के बीच डेटा पास करने के लिए यह सबसे अच्छा समाधान है।
- -n या --maxrows: क्वेरी से लौटने के लिए पंक्तियों की अधिकतम संख्या निर्धारित करता है.
- -q या --quiet: निर्धारित करता है कि दस्तावेज़ में आउटपुट प्रदर्शित करना है या नहीं। यदि निर्दिष्ट किया गया है, तो परिणाम नहीं दिखाया जाएगा।
- -f या --samplefraction: परिणाम के अंश को नमूनाकरण करते समय वापस करने के लिए सेट करता है।
- -m या --sampleमेथड: उपयोग करने के लिए नमूनाकरण विधि निर्दिष्ट करता है, या तो लें या नमूना।
ये झंडे इलम वातावरण में स्पार्क के साथ काम करते समय क्वेरी परिणामों को प्रबंधित करने और आउटपुट व्यवहार को नियंत्रित करने में लचीलापन प्रदान करते हैं।
उदाहरण के लिए:
%%उत्तेजक गुण -एस पायथनसत्र -के आसपास एसक्यूएल -ओ test_result -प्रश्न --मैक्सरो 10
चुनना machine_type, औसत(memory_usage) जैसा avg_memory_usage से मशीनआँकड़े समूह द्वारा machine_type
test_result
परिणाम इस तरह दिखना चाहिए:

डेटा प्रदर्शित करना
PySpark और Spark सत्रों में अक्सर उन्नत विज़ुअलाइज़ेशन पैकेज के साथ संगतता समस्याएँ होती हैं। एक व्यावहारिक समाधान प्रसंस्करण और विज़ुअलाइज़ेशन के लिए डेटा को स्थानीय IPython कर्नेल में स्थानांतरित करना है। इसे प्राप्त करने का तरीका यहां बताया गया है:
- स्थानीय कर्नेल में डेटा निर्यात करें: स्पार्क से स्थानीय IPython कर्नेल में डेटा पास करने के लिए अपनी नोटबुक या कोड में -o चर का उपयोग करें।
%%उत्तेजक गुण -के आसपास एसक्यूएल -ओ machine_stats
चुनना * से मशीनआँकड़े
- आवश्यक विज़ुअलाइज़ेशन पैकेज स्थापित करें: कमांड का उपयोग करके किसी भी आवश्यक पायथन विज़ुअलाइज़ेशन लाइब्रेरी स्थापित करें:
!pip install पैकेज
उदाहरण के लिए, आइए उपयोग करके डेटा प्रदर्शित करें autovizwidget विजेट:
से ऑटोविज़विजेट.मशीन.यूटिलिटी आयात display_dataframe
display_dataframe(machine_stats)
यह नीचे दिए गए चार्ट में से एक के रूप में डेटा प्रदर्शित करने की अनुमति देता है:
- सलाखों
- पाइ
- छितरा देना
- कार्य-क्षेत्र
- सारणी
- क़तारें लगाना
- सफाई सत्र आप अपने स्पार्क सत्रों को दो तरीकों से साफ़ कर सकते हैं:
-
स्पार्क सत्र प्रबंधन पैनल के माध्यम से: पर जाएं सत्र प्रबंधित करें अनुभाग पर क्लिक करें और क्लिक करें मिटाना उस सत्र के आगे जिसे आप निकालना चाहते हैं.
-
स्पार्क सत्र प्रबंधन पैनल के माध्यम से समापन बिंदु प्रबंधित करें अनुभाग: समापन बिंदु प्रबंधित करें अनुभाग पर नेविगेट करें, और क्लिक करें साफ करना Ilum Livy प्रॉक्सी समापन बिंदु के बगल में बटन।
इन विकल्पों की सहायता से आप अपने परिवेश से अनावश्यक या निष्क्रिय सत्रों को निकाल सकते हैं.
स्पार्क और पाइस्पार्क कर्नेल
Spark और PySpark कर्नेल आपके कोड को सीधे Spark सत्र के भीतर निष्पादित करते हैं। इलम में, जब आप एक नया PySpark या Spark दस्तावेज़ बनाते हैं, तो एक संबंधित पायथन या स्काला कोड सेवा दस्तावेज़ को भी बनाया और सौंपा गया है। आपका कोड इन सेवाओं के भीतर चलेगा, जिसका अर्थ है कि स्पार्क सत्र पूर्व-कॉन्फ़िगर किया गया है और सिस्टम के सभी घटकों के साथ पूरी तरह से एकीकृत है।
उदाहरण के लिए, यदि निम्न मॉड्यूल सक्षम हैं, तो आपका स्पार्क सत्र होगा:
- करने के लिए पहुँच है हाइव मेटास्टोर
- करने के लिए पहुँच है भंडार डिफ़ॉल्ट क्लस्टर से लिंक किया गया है।
- स्मृति उपयोग, CPU उपयोग, और चरणों स्कीमा के बारे में डेटा भेजें इतिहास सर्वर.
- लॉग को अग्रेषित करें लोकी का उपयोग करके प्रोमटेल.
- इसके मेट्रिक को बेनकाब करें प्रोमेथियस.
PySpark और Spark गुठली के बीच मुख्य अंतर प्रोग्रामिंग भाषा में निहित है:
- PySpark कर्नेल: उपयोग करता है अजगर.
- स्पार्क कर्नेल: उपयोग स्काला.
जादू आदेश आप का उपयोग कर सकते हैं और समग्र कार्यप्रवाह दो गुठली के बीच काफी हद तक समान रहते हैं.
- सत्र निर्माण
PySpark या Spark डॉक्यूमेंट बनाने के लिए Jupyter पर जाएं, पर क्लिक करें + ऊपरी बाएँ कोने पर बटन और कर्नेल चुनें

फिर एक सेल बनाएं, वहां कुछ सरल टाइप करें और इसे चलाएं।
उदाहरण के लिए:
फ़ोटो("नमस्ते")
कुछ समय बाद, आपको निम्नलिखित परिणाम देखना चाहिए:

यदि आप नेविगेट करते हैं वर्कलोड पृष्ठ पर, आप डिफ़ॉल्ट क्लस्टर में बनाई गई एक नई कोड सेवा देखेंगे। इस कोड सेवा में एक नाम के साथ उपसर्ग होगा इलम-लिवी-प्रॉक्सी-सत्र, यह दर्शाता है कि यह आपके द्वारा अभी बनाए गए Spark या PySpark सत्र से जुड़ा है।

ध्यान दें कि सेल में कोड उस कोड सेवा के अनुरोध के रूप में निष्पादित किया गया था।
- सत्र प्रबंधन
Spark और PySpark गुठली में sparkmagics के समान प्रबंधन पैनल नहीं होता है। हालाँकि, आप समान कार्यक्षमता के लिए मैजिक कमांड का उपयोग कर सकते हैं।
प्रयोग %%कॉन्फ़िगर करें JSON प्रारूप का उपयोग करके आपके सत्र के लिए स्पार्क पैरामीटर सेट करने के लिए जादू
उदाहरण के लिए, इस कोड को अपने सेल में टाइप करना:
%%configure -f
{
"spark.sql.एक्सटेंशन":"io.delta.sql.DeltaSparkSessionExtension",
"spark.sql.catalog.spark_catalog": "org.apache.spark.sql.delta.catalog.DeltaCatalog",
"स्पार्क.डेटाब्रिक्स.डेल्टा.कैटलॉग.अपडेट.इनेबल": सच्चा
}
आपके स्पार्क सत्र में डेल्टा को सक्षम करेगा
इसका उपयोग करना अनिवार्य है -स्त्री-विषयक ध्वज क्योंकि यह इलम को सत्र को फिर से शुरू करने के लिए मजबूर करता है यदि यह पहले से ही चल रहा है
प्रयोग %%जानकारी लिवी में सक्रिय स्पार्क सत्रों के बारे में जानकारी प्राप्त करने के लिए जादू।

प्रयोग %%delete -f -s ID उनकी आईडी द्वारा सत्रों को हटाने के लिए। आप वर्तमान कर्नेल के सत्र को हटा नहीं सकते
उदाहरण के लिए:
%%हटाएं -f -s 16
प्रयोग %%क्लीनअप -f वर्तमान समापन बिंदु में सभी सत्र को हटाने के लिए (इलम लिवी प्रॉक्सी में)
प्रयोग %%लॉग स्पार्क सत्र से संबंधित लॉग प्राप्त करने के लिए। आप उन्हें डिबगिंग के लिए उपयोग कर सकते हैं।
- कार्यप्रवाह
If you want to write a Spark program, you don’t need to use any magics. Simply type your code into a cell and execute it.
PySpark कर्नेल (पायथन) के लिए:
डाटा = [
(1, "एन 1-मानक -1", 20.5, 32.1, 15.0),
(2, "एन 1-मानक -1", 30.0, 64.3, 20.0),
(3, "एन 1-मानक -2", 30.2, 16.0, 22.0),
(4, "एन 1-मानक -2", 45.1, 128.5, 40.2),
(5, "ई 2-मध्यम", 25.4, 8.0, 18.3),
(6, "ई 2-मध्यम", 25.3, 12.0, 10.2),
(7, "ई 2-मानक -2", 29.8, 24.5, 14.7),
(8, "ई 2-मानक -2", 35.0, 24.5, 20.5),
(9, "एन 2-हाईसीपीयू -4", 50.2, 64.0, 30.4),
(10, "एन 2-हाईसीपीयू -4", 55.1, 16.0, 35.4),
(11, "एन 1-मानक -8", 80.5, 32.0, 45.6),
(12, "एन 1-मानक -16", 95.1, 128.0, 60.0),
(13, "एन 1-मानक -8", 85.0, 256.0, 90.0),
(14, "एन 1-हाईमेम -2", 40.1, 128.0, 50.0),
(15, "टी 2 ए-मानक -1", 15.2, 2.0, 5.5),
(16, "टी 2 ए-मानक -2", 25.5, 4.0, 7.3),
(17, "एन 1-हाईमेम -2", 60.5, 256.0, 100.0),
(18, "सी 2-मानक -16", 99.9, 6240.0, 120.5),
(19, "A2-HighGPU-1G", 89.2, 256.0, 95.4),
(20, "A2-HighGPU-1G", 100.0, 40.0, 110.0),
]
#using चिंगारी संदर्भ
आरडीडी = अनुसूचित जाति.समानांतर करें(डाटा)
डेटापथ = "s3a://ilum-files/data/performance"
आरडीडी.सेवअसटेक्स्टफ़ाइल(डेटापथ)
#using स्पार्क सत्र
लोमो = उत्तेजक गुण.पढ़ना.सीएसवी(डेटापथ)
लोमो.createOrReplaceTempView("मशीनटेम्प")
परिणाम = उत्तेजक गुण.एसक्यूएल("\
_c0 जैसा machine_id, \
_c1 जैसा machine_type, \
_c2 जैसा cpu_usage, \
_c3 जैसा memory_usage, \
_c4 जैसा time_spent \
मशीनटेम्प से")
परिणाम.createOrReplaceTempView("मशीनस्टैट्स")
परिणाम.प्रदर्शन()
स्पार्क कर्नेल (स्काला) में:
val डाटा = Seq(
(1, "एन 1-मानक -1", 20.5, 32.1, 15.0),
(2, "एन 1-मानक -1", 30.0, 64.3, 20.0),
(3, "एन 1-मानक -2", 30.2, 16.0, 22.0),
(4, "एन 1-मानक -2", 45.1, 128.5, 40.2),
(5, "ई 2-मध्यम", 25.4, 8.0, 18.3),
(6, "ई 2-मध्यम", 25.3, 12.0, 10.2),
(7, "ई 2-मानक -2", 29.8, 24.5, 14.7),
(8, "ई 2-मानक -2", 35.0, 24.5, 20.5),
(9, "एन 2-हाईसीपीयू -4", 50.2, 64.0, 30.4),
(10, "एन 2-हाईसीपीयू -4", 55.1, 16.0, 35.4),
(11, "एन 1-मानक -8", 80.5, 32.0, 45.6),
(12, "एन 1-मानक -16", 95.1, 128.0, 60.0),
(13, "एन 1-मानक -8", 85.0, 256.0, 90.0),
(14, "एन 1-हाईमेम -2", 40.1, 128.0, 50.0),
(15, "टी 2 ए-मानक -1", 15.2, 2.0, 5.5),
(16, "टी 2 ए-मानक -2", 25.5, 4.0, 7.3),
(17, "एन 1-हाईमेम -2", 60.5, 256.0, 100.0),
(18, "सी 2-मानक -16", 99.9, 6240.0, 120.5),
(19, "A2-HighGPU-1G", 89.2, 256.0, 95.4),
(20, "A2-HighGPU-1G", 100.0, 40.0, 110.0)
)
val आरडीडी = उत्तेजक गुण.स्पार्ककॉन्टेक्स्ट.समानांतर करें(डाटा)
val डेटापथ = "s3a://ilum-files/data/performance"
आरडीडी.सेवअसटेक्स्टफ़ाइल(डेटापथ)
val लोमो = उत्तेजक गुण.पढ़ना.विकल्प("header", "झूठा").सीएसवी(डेटापथ)
लोमो.createOrReplaceTempView("मशीनटेम्प")
val परिणाम = उत्तेजक गुण.एसक्यूएल("""
चुनना
_c0 machine_id के रूप में,
_c1 machine_type रूप में,
_c2 cpu_usage के रूप में,
_c3 memory_usage के रूप में,
_c4 time_spent
मशीनटेम्प से
""")
परिणाम.createOrReplaceTempView("मशीनस्टैट्स")
परिणाम.प्रदर्शन()
का उपयोग करना स्पार्क एसक्यूएल, आप का उपयोग कर सकते हैं %%sql magic कमांड है, जो उसी तरह कार्य करता है जैसे यह स्पार्क जादू के साथ पायथन कर्नेल में काम करता है।
एक्सापले के लिए:
%%एसक्यूएल
चुनना * से मशीनआँकड़े
आप इसके व्यवहार को अनुकूलित करने के लिए %%sql के साथ कई झंडे का भी उपयोग कर सकते हैं:
-ओ: स्थानीय परिवेश चर निर्दिष्ट करता है जो क्वेरी के परिणाम को संग्रहीत करेगा.-nनहीं तो--मैक्सरो: क्वेरी से लौटने के लिए पंक्तियों की अधिकतम संख्या सेट करता है.-प्रश्ननहीं तो--शांत: नियंत्रित करता है कि आउटपुट दस्तावेज़ में प्रदर्शित किया जाता है या नहीं। यदि निर्दिष्ट किया गया है, तो परिणाम नहीं दिखाया जाएगा।-स्त्री-विषयकनहीं तो--नमूनाअंश: नमूना लेते समय लौटने के लिए सेट किए गए परिणाम के अंश को परिभाषित करता है।-लाखनहीं तो--sampleविधि: Specifies the sampling method to use—either take or sample.
उदाहरण के लिए:
%%एसक्यूएल -ओ test_result -प्रश्न --मैक्सरो 10
चुनना machine_type, औसत(memory_usage) जैसा avg_memory_usage से मशीनआँकड़े समूह द्वारा machine_type
आपको इस सेल को चलाने वाले कोई भी परिणाम दिखाई नहीं देंगे, लेकिन वे test_result स्थानीय रूप से vairable और का उपयोग करके पुनः प्राप्त किया जा सकता है
%%स्थानीय जादू:
%%स्थानीय
test_result
वही %%स्थानीय magic command is used to execute code in a local environment. This can be useful when you don’t want to occupy the Spark environment for tasks that don’t require its resources.
यदि आप स्पार्क सत्र में स्थानीय वातावरण से मान का उपयोग करना चाहते हैं तो आपको इसका उपयोग करना चाहिए %%send_to_spark जादू।
%%send_to_spark -i मान -n नाम -t प्रकार
यहां आप वह मान निर्दिष्ट करते हैं जिसे आप भेजना चाहते हैं, उसका डेटा प्रकार और चर का नाम जिसे इसे स्पार्क सत्र में सौंपा जाएगा।
उदाहरण के लिए:
%%स्थानीय
दक्षिणी = u"abc ሴ def"
%%send_to_spark -i s -n s -t str
फ़ोटो(दक्षिणी)
इन 3 कोशिकाओं को चलाने से दक्षिणी तार।
- डेटा प्रदर्शित करना
स्पार्क और PySpark कर्नेल में, SQL कमांड या पांडा डेटाफ्रेम के साथ पुनर्प्राप्त डेटाफ्रेम को इस प्रकार प्रदर्शित किया जा सकता है
- सारणी
- पाइ
- सलाखों
- लाइन चार्ट
- छितरा देना
- कार्य-क्षेत्र
उदाहरण के लिए:

स्पार्क डेटाफ्रेम के लिए आप उपयोग कर सकते हैं %%सुंदर जादू उन्हें अधिक सुखद प्रारूप में प्रदर्शित करने के लिए:
%%सुंदर
result.show()

Guide for Zeppelin
Zeppelin में आप स्पार्क सत्रों को नियंत्रित नहीं कर सकते, वे स्वचालित रूप से बनाए और प्रबंधित किए जाते हैं। प्रत्येक नोटबुक के लिए डिफ़ॉल्ट रूप से
के लिए एक अलग है %livy.spark, एक के लिए %livy.pyspark और एक के लिए %livy.sql. दुभाषिया विन्यास में
आप इसे बदल सकते हैं।
Create notebook with Livy engine
जैसा कि पहले उल्लेख किया गया है, इलम ज़ेपेलिन से स्पार्क सत्र को इलम सेवा के साथ जोड़ने के लिए इलम-लिवी-प्रॉक्सी का उपयोग करता है। इसलिए आपको चुनना होगा स्पार्क के साथ काम करते समय लिवी इंजन।
Write spark code in scala
प्रयोग %livy.spark

Write spark code in pyspark
प्रयोग %livy.pyspark

Write spark sql statements
प्रयोग %livy.sql

Make use of built-in visualisztions
जब आप पंक्तियाँ लौटाने वाले SQL कथन चलाते हैं, तो आप उन्हें विज़ुअलाइज़ कर सकते हैं

Manage sessions lifecycle
दुर्भाग्य से सत्र प्रबंधन में टसेपेल्लिन लचीला नहीं है। हालाँकि आप कर सकते हैं:
- ब्लॉकों में मैन्युअल रूप से इलम सेवा समाप्त करें:
उत्तेजक गुण.रुको()
- दुभाषिया कॉन्फ़िगरेशन में निष्क्रिय सत्रों के लिए टाइमआउट सेट करें:
ज़ेपेलिन.livy.idle.टाइमआउट = 300