TabPy के साथ Tableau में Python कैसे चलाएँ: एक संपूर्ण मार्गदर्शिका
इन चरणों का पालन करें ताकि आप TabPy का उपयोग करके Tableau में Python स्क्रिप्ट्स चलाना शुरू कर सकें। इससे आप अपने Tableau विज़ुअलाइज़ेशन्स के लिए मॉडलिंग और विश्लेषणात्मक पाइपलाइनों को बना पाएंगे।
Tableau एक डेटा विज़ुअलाइज़ेशन टूल है जो डेटा पेशेवरों के बीच बहुत लोकप्रिय है और भर्ती के दौरान अक्सर माँगा जाता है। Python एक बहु-उद्देश्यीय प्रोग्रामिंग भाषा है जो डेटा साइंस में व्यापक रूप से उपयोग होती है। Tableau में Python इंटीग्रेशन उपयोगकर्ताओं को उन्नत मॉडल बनाने, जटिल गणनाएँ चलाने और Tableau की मूल क्षमताओं का विस्तार करने में सक्षम बनाता है।
यह विशेष रूप से उन डेटा विश्लेषकों, डेटा वैज्ञानिकों और बिज़नेस इंटेलिजेंस पेशेवरों के लिए उपयोगी है जो अपने डैशबोर्ड में सीधे सांख्यिकीय मॉडलिंग, मशीन लर्निंग और डेटा प्रोसेसिंग तकनीकों का लाभ उठाना चाहते हैं।
यह लेख Tableau में Python को एकीकृत करने के लिए एक व्यावहारिक ट्यूटोरियल के रूप में कार्य करता है। आप सीखेंगे कि अपना वातावरण कैसे सेट करें, Python स्क्रिप्ट कैसे चलाएँ, उन्नत विश्लेषणात्मक उपयोग मामलों का अन्वेषण करें, और आम समस्याओं का निवारण करें। यदि आप Tableau पर एक प्रारंभिक पाठ्यक्रम करना चाहते हैं, तो इस Introduction to Tableau कोर्स का अनुसरण करें।
इंटीग्रेशन को समझना
Tableau के साथ Python का इंटीग्रेशन एक बाहरी सेवा के माध्यम से संभव होता है, जिसे TabPy (Tableau Python Server) नामक एनालिटिक्स एक्सटेंशन कहा जाता है। यह एक्सटेंशन Tableau उपयोगकर्ताओं को अपने Tableau वातावरण के भीतर Python स्क्रिप्ट चलाने की अनुमति देता है।
भले ही आपके पास Python का उपयोग करके फ़ाइलें बनाने और फिर उन्हें Tableau में विज़ुअलाइज़ करने का अनुभव हो, जैसे Python और Tableau के साथ डेटा विज़ुअलाइज़ करने वाला यह ट्यूटोरियल, TabPy के साथ यह कनेक्शन Tableau में मौजूद डेटा और आपकी Python स्क्रिप्ट्स के बीच अधिक सहज एकीकरण प्रदान करता है।
TabPy की भूमिका
TabPy, Tableau और Python के बीच एक पुल की तरह काम करता है। यह क्लाइंट-सरवर मॉडल पर संचालित होता है, जहाँ Tableau (क्लाइंट) स्क्रिप्ट्स TabPy (सरवर) को भेजता है, जो उन्हें Python वातावरण में निष्पादित करता है और परिणाम लौटाता है।
यह कैसे काम करता है
Tableau Desktop या Server, calculated fields का उपयोग करके स्क्रिप्ट भेजता है।
TabPy Python कोड को निष्पादित करता है।
परिणाम विज़ुअलाइज़ेशन में रेंडरिंग के लिए वापस Tableau को भेजे जाते हैं।
Tableau, TabPy और Python वातावरण के बीच कनेक्शन दिखाता आरेख, eraser.io का उपयोग करके तैयार किया गया
Tableau के साथ Python का उपयोग करने के लाभ
हालाँकि Tableau अत्यंत शक्तिशाली है, जटिल विश्लेषणात्मक कार्यों के लिए इसकी calculated fields कभी-कभी बोझिल या अक्षम लग सकती हैं। Python इंटीग्रेशन, Tableau की मूल क्षमताओं पर कई फायदे देता है और उपयोगकर्ताओं को अपने डेटा को प्रोसेस करने की अधिक स्वतंत्रता देता है।
उदाहरण के लिए, आप Python के साथ निम्नलिखित उपयोग मामलों को शामिल कर सकते हैं:
उन्नत मॉडलिंग: रिग्रेशन, क्लस्टरिंग और क्लासिफिकेशन के लिए scikit-learn, statsmodels, और xgboost जैसी लाइब्रेरीज़ का उपयोग करें।
API इंटीग्रेशन: Twitter, Reddit, या कस्टम एंटरप्राइज़ सेवाओं जैसी APIs का उपयोग करके रीयल-टाइम डेटा प्राप्त करें।
डायनेमिक प्रोसेसिंग: उपयोगकर्ता इनपुट या बदलते डेटा के आधार पर अनुकूलित होने वाली गणनाएँ चलाएँ। आप अपने Tableau डैशबोर्ड की विश्लेषणात्मक शक्ति को काफी बढ़ाने के लिए pandas या numpy जैसे पैकेजों का उपयोग कर सकते हैं।
TabPy सेट करना
Tableau में Python का उपयोग शुरू करने के लिए, आपको TabPy को इंस्टॉल और कॉन्फ़िगर करना होगा। यह चरण काफी सीधा है! मुख्य प्रक्रिया यह सुनिश्चित करना है कि आपके कंप्यूटर पर Python और Tableau इंस्टॉल हों।
सिस्टम आवश्यकताएँ और इंस्टॉलेशन
आवश्यकताएँ:
Python 3.7+ (सुनिश्चित करें कि आपके पास pip हो)
Tableau Desktop या Tableau Server (2020.1 या बाद का संस्करण अनुशंसित)
चरण-दर-चरण इंस्टॉलेशन:
1. Python इंस्टॉल करें। अपने ऑपरेटिंग सिस्टम के निर्देशों का पालन करके Python इंस्टॉल करें।
TabPy को अनुकूलित करने के लिए, इसकी कॉन्फ़िगरेशन फ़ाइल संपादित करें। ये कस्टमाइज़ेशन आपको वह पोर्ट बदलने देते हैं जिस पर TabPy जानकारी सुनता है और जो ट्रांसफ़र प्रोटोकॉल वह उपयोग करता है। कॉन्फ़िगरेशन सेटिंग्स पर अधिक जानकारी के लिए, TabPy का कॉन्फ़िगरेशन गाइड देखें।
नमूना कॉन्फ़िगरेशन फ़ाइल (tabpy.conf)
यहाँ tabpy के लिए एक कॉन्फ़िगरेशन फ़ाइल कैसा दिख सकती है।
[TABPY]
TABPY_PORT = 9004
TABPY_TRANSFER_PROTOCOL = httpसंचालित द्वारा
नेटवर्क और सुरक्षा सुझाव
चूँकि TabPy आपके लोकल संसाधनों से इंटरनेट-जैसे सर्वर कनेक्शन के उपयोग पर निर्भर करता है, इसलिए कुछ नेटवर्क और सुरक्षा सुझावों का पालन करना बेहतर है:
सुनिश्चित करें कि आप ऐसा पोर्ट चुनें जो आपके फ़ायरवॉल पर खुला हो, लेकिन बाहरी कनेक्शनों को न सुनता हो।
सुरक्षित संचार के लिए SSL के साथ NGINX जैसा रिवर्स प्रॉक्सी सेट-अप करें।
यदि Tableau Server पर चला रहे हैं, तो सुनिश्चित करें कि TabPy उसी नेटवर्क से सुलभ है
TabPy सेट करने के बाद, अब आप Python को सीधे Tableau डैशबोर्ड्स में एकीकृत कर सकते हैं। आपको पहले Tableau में एक्सटेंशन कनेक्शन सक्षम करने होंगे। अपना Tableau Desktop खोलें, Settings and Performance पर जाएँ, Manage Analytics Extension Connection चुनें, और TabPy का चयन करें। फिर, इसे अपनी TabPy कॉन्फ़िगरेशन फ़ाइल की सेटिंग्स के आधार पर कॉन्फ़िगर करें।
Tableau में Manage Analytics Extensions Connection स्क्रीन (help.tableau.com)
स्क्रिप्ट इंटीग्रेशन विधियाँ
Tableau में Python स्क्रिप्ट चलाने के तीन प्रमुख तरीके हैं: calculated field के भीतर इनलाइन स्क्रिप्ट कैलकुलेशन, Tableau एक्सटेंशन्स के साथ प्रीप्रोसेसिंग, और मॉडल एंडपॉइंट्स।
1. इनलाइन स्क्रिप्ट कैलकुलेशन
Tableau के SCRIPT_REAL, SCRIPT_INT, SCRIPT_STR, या SCRIPT_BOOL फ़ंक्शन्स का उपयोग करें। ये फ़ंक्शन्स प्रत्येक डेटा को सीधे TabPy सर्वर तक पहुँचाते हैं बिना किसी बाहरी स्क्रिप्ट को चलाए। आप इन फ़ंक्शन्स के भीतर सीधे Python लिख सकते हैं।
उदाहरण: Z-score normalization
SCRIPT_REAL(
"import scipy.stats as stats
return stats.zscore(_arg1)",
SUM([Sales]))संचालित द्वारा
उपरोक्त उदाहरण आपको scipy से stats पैकेज आयात करने और Tableau में SUM([Sales]) स्तंभ का Z-score लौटाने की अनुमति देता है।
2. टेबल एक्सटेंशन्स के साथ प्रीप्रोसेसिंग
Tableau एक्सटेंशन्स का उपयोग करके Tableau के बाहर Python से प्रीप्रोसेसिंग करें, फिर परिणाम आयात करें।
Pandas/Numpy से डेटा को प्रीप्रोसेस करें।
परिणामों को CSV या API एंडपॉइंट के रूप में सहेजें।
प्रोसेस किया हुआ डेटा Tableau में लोड करें।
इन एक्सटेंशन्स को आपके Tableau वर्कबुक के Sheets पृष्ठ से चालू किया जाता है। इन एक्सटेंशन्स के साथ, आप TabPy Extension का उपयोग करके अपनी स्क्रिप्ट का संपूर्ण भाग दर्ज करते हैं। यह फिर आपके पूरे डेटासेट पर स्क्रिप्ट चलाता है, जिससे आप पंक्ति-स्तर के बजाय एक साथ पूरे डेटा को प्रीप्रोसेस कर सकते हैं। यह अक्सर आउटपुट के रूप में एक अलग टेबल जनरेट करता है।
अंतिम विधि सबसे शक्तिशाली में से एक है। हम TabPy सर्वर का उपयोग करके किसी स्क्रिप्ट को चलाने के लिए एक मॉडल होस्ट करते हैं। फिर जब हम किसी विशेष डेटा सेट पर उस मॉडल को चलाने में रुचि रखते हैं, तो हम Tableau में इस स्क्रिप्ट को कॉल करते हैं।
उदाहरण: मॉडल को TabPy पर तैनात करना
पहला चरण एक फ़ाइल बनाना है जिसे TabPy द्वारा परिनियोजित किया जाएगा। ऊपर दिए गए चरणों का पालन करते हुए अपने TabPy सर्वर को चलाने के बाद, आप इसका उपयोग अपनी Python स्क्रिप्ट चलाने के लिए कर सकते हैं। एक बार जब वह Python स्क्रिप्ट परिनियोजित हो जाती है, तो हम Tableau में SCRIPT_REAL का उपयोग करके उसे कॉल करेंगे।
from tabpy.tabpy_tools.client import Client
import pickle
defpredict_sales(input_features):
model = pickle.load(open(model.pkl, ‘rb’))# This assumes you have a saved modelreturn model.predict(input_features)
client = Client(‘http://localhost:9004’)
client.deploy('predict_sales', predict_sales,'Predict sales using linear model', override=True)संचालित द्वारा
Tableau स्क्रिप्ट कॉल:
SCRIPT_REAL("return tabpy.query(‘predict_sales’, _arg1)[‘response’]", SUM[Feature1])संचालित द्वारा
परफॉर्मेंस अनुकूलन तकनीकें
जिस तरह Tableau के बाहर Python स्क्रिप्ट चलाते समय हमें परफॉर्मेंस का ध्यान रखना होता है, उसी तरह Tableau में डेटा चलाते समय भी कुछ विशेष बातों पर विचार करना चाहिए।
बैच प्रोसेसिंग: कॉल की संख्या को कम करने के लिए डेटा को खंडों में प्रोसेस करें। अक्सर, Tableau द्वारा कॉल किए जाने के बजाय, अपने पूरे डेटासेट को एक साथ प्रोसेस करना सहायक होता है।
परिणाम कैश करना: Tableau की कैशिंग सेटिंग्स का उपयोग करके स्थिर परिणाम कैश करें।
वेक्टराइज़ेशन: तेज़ निष्पादन के लिए लूप्स के बजाय NumPy/Pandas ऑपरेशन्स का उपयोग करें। ये अक्सर गणितीय गणनाओं को वेक्टराइज़ कर देते हैं, जिससे वे अधिक कुशल हो जाते हैं।
यदि Tableau Server का उपयोग कर रहे हैं, तो आप कनेक्शन पूलिंग का उपयोग करके और अनुकूलन कर सकते हैं। कनेक्शन पूलिंग का सामान्य विचार डेटा स्रोतों के साथ स्थायी कनेक्शनों को बनाए रखना है ताकि ओवरहेड कम हो सके।
आप अपने डेटा स्रोतों और TabPy के लिए भी यही कर सकते हैं ताकि हर बार स्क्रिप्ट या नई गणना चलाते समय Tableau को TabPy के साथ कनेक्शन “फिर से खोलने” से रोका जा सके।
उन्नत विश्लेषणात्मक उपयोग मामले
अब जब बुनियादी बातें कवर हो गई हैं, तो आप अत्यधिक कस्टमाइज़्ड एनालिटिक्स लागू कर सकते हैं। ये तरीके अधिक उन्नत स्क्रिप्ट्स बनाने से जुड़े हैं जो आपके डैशबोर्ड के साथ दिलचस्प तरीकों से इंटरैक्ट करते हैं।
एक बार जब आप अपना मॉडल बना लेते हैं, तो आप उसे एक ऐसी स्क्रिप्ट में पैकेज कर सकते हैं जिसे TabPy द्वारा परिनियोजित किया जा सके। फिर हम इसी SCRIPT_REAL फ़ंक्शन का उपयोग करके Tableau से अपने परिनियोजित मॉडल को कॉल करते हैं।
उपयोग मामला: बिक्री का पूर्वानुमान
Python में Prophet मॉडल का निर्माण और प्रशिक्षण करें।
ऐतिहासिक बिक्री को फीचर के रूप में उपयोग करते हुए मॉडल को TabPy पर परिनियोजित करें
जैसे ही डैशबोर्ड फिल्टर बदलते हैं, बिक्री के पूर्वानुमान अपडेट करें।
अब, यदि कोई स्थान, समय, या उत्पाद जैसे फ़िल्टर बदलता है, तो Tableau इन नए फ़िल्टर्स के साथ रीयल-टाइम में नए पूर्वानुमान जनरेट करेगा।
सुरक्षा और गवर्नेंस
चूँकि हम TabPy के लिए अपने कनेक्शनों को खोलते हैं, इसलिए उचित सुरक्षा और गवर्नेंस प्रोटोकॉल का पालन करना आवश्यक है।
प्रमाणीकरण प्रोटोकॉल
TabPy उपयोगकर्ताओं को सुरक्षित रखने में मदद करने के लिए विभिन्न प्रमाणीकरण प्रोटोकॉल प्रदान करता है। निम्नलिखित समर्थित हैं और कॉन्फ़िगर किए जा सकते हैं:
बेसिक ऑथेंटिकेशन (यूज़रनेम/पासवर्ड)
सर्टिफिकेट-आधारित ऑथेंटिकेशन
OAuth2 सुरक्षित टोकन हैंडलिंग के साथ (उन्नत एंटरप्राइज़ उपयोग के लिए)
सर्वोत्तम प्रथा यह है कि प्रोडक्शन डिप्लॉयमेंट्स के लिए हमेशा HTTPS और सुरक्षित टोकन का उपयोग करें।
डेटा संरक्षण उपाय
Tableau और TabPy को जोड़ते समय, हमें यह सुनिश्चित करना चाहिए कि हम उचित डेटा संरक्षण गवर्नेंस का पालन कर रहे हैं। इसमें यह सुनिश्चित करना शामिल है कि डेटा सही कनेक्शन चैनलों से प्रवाहित हो और अन्य पोर्ट्स का उपयोग न कर सके, और डेटा चलते समय हर समय एन्क्रिप्टेड रहे। पालन करने के लिए कुछ सर्वोत्तम प्रथाएँ इस प्रकार हैं:
Tableau और TabPy के बीच संचार को एन्क्रिप्ट करें।
फ़ायरवॉल नियमों और एक्सेस कंट्रोल्स का उपयोग करें।
अनुपालन के लिए TabPy पर ऑडिट लॉगिंग सक्षम करें। कमज़ोरियों को पैच करने के लिए Python पैकेजों को नियमित रूप से अपडेट करें।
अंततः, यदि आपके संगठन को कुछ नियामक अनुपालन का पालन करना आवश्यक है, तो उनकी सर्वोत्तम प्रथाओं का पालन करना जारी रखें। सुनिश्चित करें कि GDPR और CCPR का पालन हो, और PII को TabPy पर भेजने से पहले अनाम और टोकनाइज़ किया जाए। अतिरिक्त रूप से, रिसाव को कम करने के लिए मध्यवर्ती Python परिणामों के लिए सुरक्षित भंडारण का उपयोग करें।
ट्रबलशूटिंग और डिबगिंग
समस्याएँ अपरिहार्य हैं, लेकिन अधिकांश को जल्दी ही हल किया जा सकता है।
सामान्य समस्याएँ और समाधान
समस्या
समाधान
Tableau, TabPy से कनेक्ट नहीं हो पा रहा
फ़ायरवॉल जाँचें, पोर्ट (9004) की पुष्टि करें, और सुनिश्चित करें कि TabPy चल रहा है
स्क्रिप्ट NULL मान लौटाती है
इनपुट प्रकार मान्य करें और Python एरर लॉग्स जाँचें
धीमा प्रदर्शन
Python को भेजे गए डेटा का अनुकूलन करें, कॉल की आवृत्ति कम करें, कैशिंग का उपयोग करें
यदि आप कभी अपनी कोड में समस्याओं का सामना करें, तो इन डिबगिंग चरणों का पालन करें (जो किसी भी स्क्रिप्ट के लिए काम करेंगे):
स्क्रिप्ट्स में print() या लॉगिंग का उपयोग करें (TabPy लॉग्स इन्हें दिखाते हैं)।
Tableau के बाहर Jupyter का उपयोग करके Python स्क्रिप्ट्स का परीक्षण करें।
My Tableau Repository/Logs में Tableau लॉग्स जाँचें।
निष्कर्ष
Tableau के साथ Python का इंटीग्रेशन आपके विज़ुअल डैशबोर्ड्स के भीतर सीधे उन्नत विश्लेषणात्मक शक्ति को अनलॉक करता है। TabPy के साथ, आप:
जटिल गणनाएँ निष्पादित कर सकते हैं
ML मॉडलों को परिनियोजित कर सकते हैं और उनके साथ इंटरैक्ट कर सकते हैं
Tableau की मूल क्षमताओं का उल्लेखनीय रूप से विस्तार कर सकते हैं
चाहे आप सांख्यिकीय मॉडल चला रहे हों, पाठ्य डेटा प्रोसेस कर रहे हों, या पूर्वानुमानों का विज़ुअलाइज़ेशन कर रहे हों, Python Tableau डैशबोर्ड्स में बुद्धिमत्ता का एक नया आयाम जोड़ता है।
इस गाइड में उल्लिखित चरणों का पालन करके, आप अधिक सूक्ष्म, लचीला और इंटरैक्टिव एनालिटिक्स के लिए Python का लाभ उठाने में सक्षम होंगे। Tableau और इसकी क्षमताओं पर अधिक जानकारी के लिए, निम्नलिखित गाइड देखें:
क्या मैं Tableau Public के साथ Python का उपयोग कर सकता/सकती हूँ?⌄
नहीं। Tableau Public, TabPy जैसी बाहरी सेवाओं का समर्थन नहीं करता। Python इंटीग्रेशन Tableau Desktop (Professional Edition) और Tableau Server में उपलब्ध है।
क्या TabPy प्रोडक्शन वातावरण के लिए सुरक्षित है?⌄
TabPy को प्रोडक्शन के लिए HTTPS, फ़ायरवॉल प्रतिबंध, प्रमाणीकरण प्रोटोकॉल (बेसिक, सर्ट-आधारित, OAuth2), और NGINX जैसे रिवर्स प्रॉक्सी के माध्यम से सुरक्षित किया जा सकता है। हालाँकि, डिफ़ॉल्ट सेटअप से परे अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता होती है।
डैशबोर्ड्स में Python स्क्रिप्ट के परफॉर्मेंस को Tableau कैसे संभालता है?⌄
Tableau डेटा को TabPy को भेजता है और प्रतिक्रिया का इंतज़ार करता है, जिससे स्क्रिप्ट्स के अनुकूलित न होने पर लग हो सकता है। प्रदर्शन बेहतर करने के लिए वेक्टराइज़ेशन, कैशिंग, बैचिंग, और भेजे गए डेटा को न्यूनतम रखने जैसी तकनीकों का उपयोग करें।
क्या मैं TabPy के साथ वर्चुअल एनवायरनमेंट्स का उपयोग कर सकता/सकती हूँ?⌄
हाँ। आप TabPy को Python वर्चुअल एनवायरनमेंट के अंदर चला सकते हैं, जो निर्भरताओं को अलग-थलग रखने और टकरावों से बचने में मदद करता है। TabPy लॉन्च करने से पहले एनवायरनमेंट को सक्रिय करें।
क्या TabPy JSON या डिक्शनरी जैसी जटिल डेटा संरचनाएँ लौटा सकता है?⌄
नहीं। TabPy को ऐसा फ़्लैट लिस्ट या NumPy array लौटाना चाहिए जिसे Tableau समझ सके। डिक्शनरीज़ या JSON जैसी जटिल डेटा संरचनाओं को वापस करने से पहले लिस्ट में प्रीप्रोसेस करना होगा।
मैं एक डेटा साइंटिस्ट हूँ, जिसे स्पैटियल विश्लेषण, मशीन लर्निंग और डेटा पाइपलाइनों का अनुभव है। मैंने GCP, Hadoop, Hive, Snowflake, Airflow और अन्य डेटा साइंस/इंजीनियरिंग प्रक्रियाओं के साथ काम किया है।
Tableau एक डेटा विज़ुअलाइज़ेशन टूल है जो डेटा पेशेवरों के बीच बहुत लोकप्रिय है और भर्ती के दौरान अक्सर माँगा जाता है। Python एक बहु-उद्देश्यीय प्रोग्रामिंग भाषा है जो डेटा साइंस में व्यापक रूप से उपयोग होती है। Tableau में Python इंटीग्रेशन उपयोगकर्ताओं को उन्नत मॉडल बनाने, जटिल गणनाएँ चलाने और Tableau की मूल क्षमताओं का विस्तार करने में सक्षम बनाता है।
यह विशेष रूप से उन डेटा विश्लेषकों, डेटा वैज्ञानिकों और बिज़नेस इंटेलिजेंस पेशेवरों के लिए उपयोगी है जो अपने डैशबोर्ड में सीधे सांख्यिकीय मॉडलिंग, मशीन लर्निंग और डेटा प्रोसेसिंग तकनीकों का लाभ उठाना चाहते हैं।
यह लेख Tableau में Python को एकीकृत करने के लिए एक व्यावहारिक ट्यूटोरियल के रूप में कार्य करता है। आप सीखेंगे कि अपना वातावरण कैसे सेट करें, Python स्क्रिप्ट कैसे चलाएँ, उन्नत विश्लेषणात्मक उपयोग मामलों का अन्वेषण करें, और आम समस्याओं का निवारण करें। यदि आप Tableau पर एक प्रारंभिक पाठ्यक्रम करना चाहते हैं, तो इस Introduction to Tableau कोर्स का अनुसरण करें।
इंटीग्रेशन को समझना
Tableau के साथ Python का इंटीग्रेशन एक बाहरी सेवा के माध्यम से संभव होता है, जिसे TabPy (Tableau Python Server) नामक एनालिटिक्स एक्सटेंशन कहा जाता है। यह एक्सटेंशन Tableau उपयोगकर्ताओं को अपने Tableau वातावरण के भीतर Python स्क्रिप्ट चलाने की अनुमति देता है।
भले ही आपके पास Python का उपयोग करके फ़ाइलें बनाने और फिर उन्हें Tableau में विज़ुअलाइज़ करने का अनुभव हो, जैसे Python और Tableau के साथ डेटा विज़ुअलाइज़ करने वाला यह ट्यूटोरियल, TabPy के साथ यह कनेक्शन Tableau में मौजूद डेटा और आपकी Python स्क्रिप्ट्स के बीच अधिक सहज एकीकरण प्रदान करता है।
TabPy की भूमिका
TabPy, Tableau और Python के बीच एक पुल की तरह काम करता है। यह क्लाइंट-सरवर मॉडल पर संचालित होता है, जहाँ Tableau (क्लाइंट) स्क्रिप्ट्स TabPy (सरवर) को भेजता है, जो उन्हें Python वातावरण में निष्पादित करता है और परिणाम लौटाता है।
यह कैसे काम करता है
Tableau, TabPy और Python वातावरण के बीच कनेक्शन दिखाता आरेख, eraser.io का उपयोग करके तैयार किया गया
Tableau के साथ Python का उपयोग करने के लाभ
हालाँकि Tableau अत्यंत शक्तिशाली है, जटिल विश्लेषणात्मक कार्यों के लिए इसकी calculated fields कभी-कभी बोझिल या अक्षम लग सकती हैं। Python इंटीग्रेशन, Tableau की मूल क्षमताओं पर कई फायदे देता है और उपयोगकर्ताओं को अपने डेटा को प्रोसेस करने की अधिक स्वतंत्रता देता है।
उदाहरण के लिए, आप Python के साथ निम्नलिखित उपयोग मामलों को शामिल कर सकते हैं:
scikit-learn,statsmodels, औरxgboostजैसी लाइब्रेरीज़ का उपयोग करें।pandasयाnumpyजैसे पैकेजों का उपयोग कर सकते हैं।TabPy सेट करना
Tableau में Python का उपयोग शुरू करने के लिए, आपको TabPy को इंस्टॉल और कॉन्फ़िगर करना होगा। यह चरण काफी सीधा है! मुख्य प्रक्रिया यह सुनिश्चित करना है कि आपके कंप्यूटर पर Python और Tableau इंस्टॉल हों।
सिस्टम आवश्यकताएँ और इंस्टॉलेशन
आवश्यकताएँ:
चरण-दर-चरण इंस्टॉलेशन:
1. Python इंस्टॉल करें। अपने ऑपरेटिंग सिस्टम के निर्देशों का पालन करके Python इंस्टॉल करें।
2. वर्चुअल एनवायरनमेंट बनाएँ:
3. TabPy इंस्टॉल करें (सुनिश्चित करें कि आपने अपना एनवायरनमेंट सक्रिय किया है)। आप इस समय
pandas,numpy,sklearnऔर अन्य पैकेज भी इंस्टॉल कर सकते हैं।4. TabPy शुरू करें:
TabPy कॉन्फ़िगर करना
TabPy को अनुकूलित करने के लिए, इसकी कॉन्फ़िगरेशन फ़ाइल संपादित करें। ये कस्टमाइज़ेशन आपको वह पोर्ट बदलने देते हैं जिस पर TabPy जानकारी सुनता है और जो ट्रांसफ़र प्रोटोकॉल वह उपयोग करता है। कॉन्फ़िगरेशन सेटिंग्स पर अधिक जानकारी के लिए, TabPy का कॉन्फ़िगरेशन गाइड देखें।
नमूना कॉन्फ़िगरेशन फ़ाइल (tabpy.conf)
यहाँ tabpy के लिए एक कॉन्फ़िगरेशन फ़ाइल कैसा दिख सकती है।
नेटवर्क और सुरक्षा सुझाव
चूँकि TabPy आपके लोकल संसाधनों से इंटरनेट-जैसे सर्वर कनेक्शन के उपयोग पर निर्भर करता है, इसलिए कुछ नेटवर्क और सुरक्षा सुझावों का पालन करना बेहतर है:
TabPy के साथ शुरुआत करने पर अधिक विवरण के लिए, इस Getting started with TabPy ट्यूटोरियल का अनुसरण करें।
Tableau में Python चलाना
TabPy सेट करने के बाद, अब आप Python को सीधे Tableau डैशबोर्ड्स में एकीकृत कर सकते हैं। आपको पहले Tableau में एक्सटेंशन कनेक्शन सक्षम करने होंगे। अपना Tableau Desktop खोलें, Settings and Performance पर जाएँ, Manage Analytics Extension Connection चुनें, और TabPy का चयन करें। फिर, इसे अपनी TabPy कॉन्फ़िगरेशन फ़ाइल की सेटिंग्स के आधार पर कॉन्फ़िगर करें।
Tableau में Manage Analytics Extensions Connection स्क्रीन (help.tableau.com)
स्क्रिप्ट इंटीग्रेशन विधियाँ
Tableau में Python स्क्रिप्ट चलाने के तीन प्रमुख तरीके हैं: calculated field के भीतर इनलाइन स्क्रिप्ट कैलकुलेशन, Tableau एक्सटेंशन्स के साथ प्रीप्रोसेसिंग, और मॉडल एंडपॉइंट्स।
1. इनलाइन स्क्रिप्ट कैलकुलेशन
Tableau के
SCRIPT_REAL,SCRIPT_INT,SCRIPT_STR, याSCRIPT_BOOLफ़ंक्शन्स का उपयोग करें। ये फ़ंक्शन्स प्रत्येक डेटा को सीधे TabPy सर्वर तक पहुँचाते हैं बिना किसी बाहरी स्क्रिप्ट को चलाए। आप इन फ़ंक्शन्स के भीतर सीधे Python लिख सकते हैं।उदाहरण: Z-score normalization
उपरोक्त उदाहरण आपको
scipyसेstatsपैकेज आयात करने और Tableau मेंSUM([Sales])स्तंभ का Z-score लौटाने की अनुमति देता है।2. टेबल एक्सटेंशन्स के साथ प्रीप्रोसेसिंग
Tableau एक्सटेंशन्स का उपयोग करके Tableau के बाहर Python से प्रीप्रोसेसिंग करें, फिर परिणाम आयात करें।
इन एक्सटेंशन्स को आपके Tableau वर्कबुक के Sheets पृष्ठ से चालू किया जाता है। इन एक्सटेंशन्स के साथ, आप TabPy Extension का उपयोग करके अपनी स्क्रिप्ट का संपूर्ण भाग दर्ज करते हैं। यह फिर आपके पूरे डेटासेट पर स्क्रिप्ट चलाता है, जिससे आप पंक्ति-स्तर के बजाय एक साथ पूरे डेटा को प्रीप्रोसेस कर सकते हैं। यह अक्सर आउटपुट के रूप में एक अलग टेबल जनरेट करता है।
Sheets पेज के निचले हिस्से में उपलब्ध Table Extension फीचर। (Tableau दस्तावेज़ीकरण से)
3. परिनियोजित मॉडल एंडपॉइंट्स
अंतिम विधि सबसे शक्तिशाली में से एक है। हम TabPy सर्वर का उपयोग करके किसी स्क्रिप्ट को चलाने के लिए एक मॉडल होस्ट करते हैं। फिर जब हम किसी विशेष डेटा सेट पर उस मॉडल को चलाने में रुचि रखते हैं, तो हम Tableau में इस स्क्रिप्ट को कॉल करते हैं।
उदाहरण: मॉडल को TabPy पर तैनात करना
पहला चरण एक फ़ाइल बनाना है जिसे TabPy द्वारा परिनियोजित किया जाएगा। ऊपर दिए गए चरणों का पालन करते हुए अपने TabPy सर्वर को चलाने के बाद, आप इसका उपयोग अपनी Python स्क्रिप्ट चलाने के लिए कर सकते हैं। एक बार जब वह Python स्क्रिप्ट परिनियोजित हो जाती है, तो हम Tableau में
SCRIPT_REALका उपयोग करके उसे कॉल करेंगे।Tableau स्क्रिप्ट कॉल:
परफॉर्मेंस अनुकूलन तकनीकें
जिस तरह Tableau के बाहर Python स्क्रिप्ट चलाते समय हमें परफॉर्मेंस का ध्यान रखना होता है, उसी तरह Tableau में डेटा चलाते समय भी कुछ विशेष बातों पर विचार करना चाहिए।
यदि Tableau Server का उपयोग कर रहे हैं, तो आप कनेक्शन पूलिंग का उपयोग करके और अनुकूलन कर सकते हैं। कनेक्शन पूलिंग का सामान्य विचार डेटा स्रोतों के साथ स्थायी कनेक्शनों को बनाए रखना है ताकि ओवरहेड कम हो सके।
आप अपने डेटा स्रोतों और TabPy के लिए भी यही कर सकते हैं ताकि हर बार स्क्रिप्ट या नई गणना चलाते समय Tableau को TabPy के साथ कनेक्शन “फिर से खोलने” से रोका जा सके।
उन्नत विश्लेषणात्मक उपयोग मामले
अब जब बुनियादी बातें कवर हो गई हैं, तो आप अत्यधिक कस्टमाइज़्ड एनालिटिक्स लागू कर सकते हैं। ये तरीके अधिक उन्नत स्क्रिप्ट्स बनाने से जुड़े हैं जो आपके डैशबोर्ड के साथ दिलचस्प तरीकों से इंटरैक्ट करते हैं।
रीयल-टाइम प्रेडिक्टिव एनालिटिक्स
एक शानदार मॉडल है टाइम-सीरीज़ मॉडल्स (जैसे, ARIMA, Prophet) को परिनियोजित करना जो उपयोगकर्ता इनपुट के साथ अपडेट होते हैं, ठीक इसी गाइड की तरह TabPy के साथ फ़ंक्शन्स और Prophet को परिनियोजित करना।
एक बार जब आप अपना मॉडल बना लेते हैं, तो आप उसे एक ऐसी स्क्रिप्ट में पैकेज कर सकते हैं जिसे TabPy द्वारा परिनियोजित किया जा सके। फिर हम इसी
SCRIPT_REALफ़ंक्शन का उपयोग करके Tableau से अपने परिनियोजित मॉडल को कॉल करते हैं।उपयोग मामला: बिक्री का पूर्वानुमान
अब, यदि कोई स्थान, समय, या उत्पाद जैसे फ़िल्टर बदलता है, तो Tableau इन नए फ़िल्टर्स के साथ रीयल-टाइम में नए पूर्वानुमान जनरेट करेगा।
सुरक्षा और गवर्नेंस
चूँकि हम TabPy के लिए अपने कनेक्शनों को खोलते हैं, इसलिए उचित सुरक्षा और गवर्नेंस प्रोटोकॉल का पालन करना आवश्यक है।
प्रमाणीकरण प्रोटोकॉल
TabPy उपयोगकर्ताओं को सुरक्षित रखने में मदद करने के लिए विभिन्न प्रमाणीकरण प्रोटोकॉल प्रदान करता है। निम्नलिखित समर्थित हैं और कॉन्फ़िगर किए जा सकते हैं:
सर्वोत्तम प्रथा यह है कि प्रोडक्शन डिप्लॉयमेंट्स के लिए हमेशा HTTPS और सुरक्षित टोकन का उपयोग करें।
डेटा संरक्षण उपाय
Tableau और TabPy को जोड़ते समय, हमें यह सुनिश्चित करना चाहिए कि हम उचित डेटा संरक्षण गवर्नेंस का पालन कर रहे हैं। इसमें यह सुनिश्चित करना शामिल है कि डेटा सही कनेक्शन चैनलों से प्रवाहित हो और अन्य पोर्ट्स का उपयोग न कर सके, और डेटा चलते समय हर समय एन्क्रिप्टेड रहे। पालन करने के लिए कुछ सर्वोत्तम प्रथाएँ इस प्रकार हैं:
अंततः, यदि आपके संगठन को कुछ नियामक अनुपालन का पालन करना आवश्यक है, तो उनकी सर्वोत्तम प्रथाओं का पालन करना जारी रखें। सुनिश्चित करें कि GDPR और CCPR का पालन हो, और PII को TabPy पर भेजने से पहले अनाम और टोकनाइज़ किया जाए। अतिरिक्त रूप से, रिसाव को कम करने के लिए मध्यवर्ती Python परिणामों के लिए सुरक्षित भंडारण का उपयोग करें।
ट्रबलशूटिंग और डिबगिंग
समस्याएँ अपरिहार्य हैं, लेकिन अधिकांश को जल्दी ही हल किया जा सकता है।
सामान्य समस्याएँ और समाधान
समस्या
समाधान
Tableau, TabPy से कनेक्ट नहीं हो पा रहा
फ़ायरवॉल जाँचें, पोर्ट (9004) की पुष्टि करें, और सुनिश्चित करें कि TabPy चल रहा है
स्क्रिप्ट NULL मान लौटाती है
इनपुट प्रकार मान्य करें और Python एरर लॉग्स जाँचें
धीमा प्रदर्शन
Python को भेजे गए डेटा का अनुकूलन करें, कॉल की आवृत्ति कम करें, कैशिंग का उपयोग करें
यदि आप कभी अपनी कोड में समस्याओं का सामना करें, तो इन डिबगिंग चरणों का पालन करें (जो किसी भी स्क्रिप्ट के लिए काम करेंगे):
निष्कर्ष
Tableau के साथ Python का इंटीग्रेशन आपके विज़ुअल डैशबोर्ड्स के भीतर सीधे उन्नत विश्लेषणात्मक शक्ति को अनलॉक करता है। TabPy के साथ, आप:
चाहे आप सांख्यिकीय मॉडल चला रहे हों, पाठ्य डेटा प्रोसेस कर रहे हों, या पूर्वानुमानों का विज़ुअलाइज़ेशन कर रहे हों, Python Tableau डैशबोर्ड्स में बुद्धिमत्ता का एक नया आयाम जोड़ता है।
इस गाइड में उल्लिखित चरणों का पालन करके, आप अधिक सूक्ष्म, लचीला और इंटरैक्टिव एनालिटिक्स के लिए Python का लाभ उठाने में सक्षम होंगे। Tableau और इसकी क्षमताओं पर अधिक जानकारी के लिए, निम्नलिखित गाइड देखें: