यह काम करता है अगर डेटा बहुत बड़ा नहीं है। (उदाहरण के लिए 5 एमबी तक)

import eland as ed
df = ed.DataFrame('localhost:9200', 'kibana_sample_data_flights')
df.to_csv('abc.csv')

लेकिन डेटा बड़ा होने पर 10 सेकंड के बाद टाइमआउट त्रुटि हो रही है।

ConnectionTimeout: ConnectionTimeout caused by - ReadTimeoutError(HTTPSConnectionPool(host='xxx', port=xxx): Read timed out. (read timeout=10))

क्या उस वर्ग में डिफ़ॉल्ट टाइमआउट को संशोधित करने के लिए वैसे भी है?

0
shantanuo 14 पद 2020, 08:52

2 जवाब

सबसे बढ़िया उत्तर

पुस्तकालय eland elasticsearch पर आधारित है, जो आपको टाइमआउट पैरामीटर स्वयं सेट करें। और eland के लिए PyPI पृष्ठ में eland का उपयोग करने के तरीके के बारे में बताया गया है और elasticsearch पुस्तकालय आपके अनुरोध करने के लिए एक साथ।

आप elasticsearch और एक DataFrame ऑब्जेक्ट का उपयोग करके अनुरोध कर सकते हैं, जिसे आप तब to_csv अपने कोड को बिल्कुल भी बदलने की आवश्यकता के बिना करते हैं।

मुझे आशा है कि मेरी प्रतिक्रिया मददगार थी!

1
JohnAlexINL 21 पद 2020, 08:04

यह सही कनेक्शन ऑब्जेक्ट था जिसे मुझे टाइमआउट शामिल करने की आवश्यकता है।

import eland as ed
from elasticsearch import Elasticsearch

es = Elasticsearch([{"host": "localhost", "port": 9200, "timeout": 120}])
df = ed.DataFrame(es, es_index_pattern="kibana_sample_data_flights")
0
shantanuo 21 पद 2020, 09:22