2011-08-11 14 views
5

का उपयोग कर आर से जावा फ़ंक्शंस को कॉल करना आर आर और अन्य भाषाओं (जावा, मेरे मामले में) के बीच संचार के लिए RProtoBuf का उपयोग करने के बारे में पूरी तरह से स्पष्ट नहीं है।RPRotoBuf (प्रोटोकॉल बफर)

आरप्रोटोबफ डेवलपर्स ने कुछ ऐसा विकसित किया जो अभी भी है - https://r-forge.r-project.org/scm/viewvc.php/java/?root=rprotobuf, लेकिन यह बहुत पुराना प्रतीत होता है। मुझे यकीन नहीं है कि यह जाने का रास्ता है या नहीं।

http://lists.r-forge.r-project.org/pipermail/rprotobuf-yada/2009-December/000116.html

http://lists.r-forge.r-project.org/pipermail/rprotobuf-yada/2009-December/000119.html

ऐसा लगता है कि वे जावा के साथ काम शुरू कर दिया और उसके बाद सी ++ के पक्ष में इसे छोड़ दिया - यहाँ RProtoBuf के लेखकों कि कोड को समझने के साथ मदद कर सकता है के बीच दो बातचीत कर रहे हैं!

वहाँ आर RProtoBuf-जावा संयोजन का उपयोग कर किसी को भी है? आप इसे कैसे करते हो? क्या कोई ट्यूटोरियल या उदाहरण उपलब्ध है?

जावा मेरे जोखिम बहुत बहुत सीमित है। मैं जावा में लिखे गए कुछ प्रोग्रामों का उपयोग करना चाहता हूं।

संपादित करें: स्पष्टीकरण के लिए, मुझे लगता है कि मैं RPRotobuf के साथ उपयोग किए जाने वाले आर आरपीसी क्लाइंट का एक उदाहरण देखना चाहता हूं। जावा आरपीसी सर्वर की तरफ पॉइंटर्स का स्वागत होगा।

संपादित 2: पहला लिंक वास्तव में कुछ दस्तावेज जनरेटर कोड को इंगित करता है, जैसा कि डिर्क ने बताया।

+1

एक साइड पॉइंट के रूप में; प्रोटोबफ स्वयं किसी भी विशिष्ट आरपीसी विवरण (केवल क्रमबद्धता प्रारूप) को परिभाषित नहीं करता है - इसलिए यदि आप आरपीसी की बात कर रहे हैं, तो आपको यह भी देखना होगा कि आरपीसी "अन्य अंत" के लिए कौन सी आरपीसी उपलब्ध है (या स्वयं को कुछ सरल करें) –

+1

नहीं, जावा निर्देशिका सिर्फ एक दस्तावेज जनरेटर के लिए थी। और प्रोटोबफ * भाषा-अज्ञेयवादी * है लेकिन जावा को Google कार्यान्वयन द्वारा समर्थित किया जाता है। –

+0

क्षमा करें, मेरी गलती। मैंने वार्तालाप पढ़ा और फिर माना कि फ़ोल्डर में कोड होना चाहिए था। तो क्या वह कोड कहीं भी उपलब्ध है? मैं वास्तव में कहीं एक उदाहरण/ट्यूटोरेल/पैदल चलना पसंद करूंगा। और आर आरपीसी क्लाइंट है? क्रैन ने किसी को प्रकट नहीं किया। – Soumendra

उत्तर

1

मुझे RProtoBuf के बारे में पता नहीं है, लेकिन अगर आप जावा से जावा को कॉल करना चाहते हैं, तो आपको rJava में रुचि हो सकती है।

यह पुरानी नहीं है और (, लिंक को देखने के सही मुख्य पृष्ठ पर) उदाहरण है।

+0

मुझे बताया गया है कि आरजेवा के साथ, मुझे अपने हाथों से अधिक जानकारी के साथ गंदे मिलना होगा (यानी, यह कम स्तर है।) मैं अपने आप में से किसी एक में निवेश करने से पहले सभी संभावित समाधानों के लिए चारों ओर देख रहा हूं। – Soumendra

+0

@ सौमेंद्र यह उचित लगता है। असल में मुझे नहीं पता कि आर से जावा को कॉल करना कितना मुश्किल है। मैंने जावा से आर को कॉल करने के लिए केवल आरजेए (जेआरआई) का इस्तेमाल किया था। जेआरआई कम स्तर है, लेकिन सीधा मैं कहूंगा। –

0

हमने हाल ही में एक जेएसएस पेपर के आर्क्सिव पर एक प्रीप्रिंट प्रकाशित किया है जिसे हमने आरपीआरओटीबीएफ का उपयोग करने के अधिक उदाहरणों के साथ लिखा है, जिसमें रिमोट वेब सेवाओं को आरपीसी अनुरोध भेजना शामिल है। RPRotoBuf के साथ आर और अन्य भाषाओं के बीच डेटा साझा करने के अधिक विस्तार के लिए, RProtoBuf: Efficient Cross-Language Data Serialization in R देखें।

आप किसी भी परिवहन तंत्र के साथ RProtoBuf का उपयोग कर सकते हैं, जैसा कि लेख में बताया गया है - आप धारावाहिक प्रोटोकॉल बफर को अन्य भाषाओं में लिखे गए अन्य अनुप्रयोगों द्वारा पढ़ने के लिए फ़ाइलों को सहेज सकते हैं, या आप उन्हें कनेक्शन/सॉकेट या अन्य पर भेज सकते हैं उच्च स्तर आरपीसी सिस्टम। प्रोटोकॉल बफर का व्यापक रूप से सोनी प्लेस्टेशन से बड़े पैमाने पर वेब सेवाओं तक सब कुछ उपयोग किया जाता है, लेकिन उनमें आरपीसी सिस्टम शामिल नहीं होता है - आप उन्हें अपने सीरियलाइजेशन प्रारूप के रूप में उपयोग करते हैं जो आप पहले से ही उपयोग कर रहे परिवहन प्रणाली के साथ कर सकते हैं।