पर डेटा कैसे डालें I Kinesis के लिए नया हूं। प्रलेखन को पढ़ने के लिए मैंने पाया कि मैं निर्माता से डेटा प्राप्त करने के लिए Kinesis स्ट्रीम बना सकता हूं। फिर केसीएल का उपयोग स्ट्रीम से आगे की प्रक्रिया तक इस डेटा को पढ़ेगा। मैं समझता हूं कि आईआरकॉर्डप्रोसेसर को लागू करके केसीएल आवेदन कैसे लिखना है।सर्वर से डेटा को किनेसिस स्ट्रीम
हालांकि किनेसिस स्ट्रीम पर डेटा डालने के तरीके के बारे में पहला चरण अभी भी मुझे स्पष्ट नहीं है। क्या हमारे पास कुछ एडब्ल्यूएस एपीआई है जिसे इसे प्राप्त करने के लिए कार्यान्वयन की आवश्यकता है।
परिदृश्य: मेरे पास एक सर्वर है जो फ़ोल्डरों में विभिन्न स्रोतों से डेटा प्राप्त कर रहा है। प्रत्येक फ़ोल्डर में टेक्स्ट फ़ाइल होती है जिसमें पंक्तियों में फ़र्टर विश्लेषणात्मक कार्य के लिए आवश्यक विशेषताओं को शामिल किया जाता है। मुझे इन सभी डेटा को किनेस स्ट्रीम में धक्का देना है।
मैं Kinesis धारा में के लिए बाहर इस्तेमाल किया जा wil वर्ग putData विधि नीचे के रूप में नीचे दिए गए कोड कुछ चाहिए
public class Put {
AmazonKinesisClient kinesisClient;
Put()
{
String accessKey = "My Access Key here" ;
String secretKey = "My Secret Key here" ;
AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
kinesisClient = new AmazonKinesisClient(credentials);
kinesisClient.setEndpoint("kinesis.us-east-1.amazonaws.com", "kinesis", "us-east-1");
System.out.println("starting the Put Application");
}
public void putData(String fileContent,String session) throws Exception
{
final String myStreamName = "ClickStream";
PutRecordRequest putRecordRequest = new PutRecordRequest();
putRecordRequest.setStreamName(myStreamName);
String putData = fileContent;
putRecordRequest.setData(ByteBuffer.wrap(putData.getBytes()));
putRecordRequest.setPartitionKey("session"+session);
PutRecordResult putRecordResult = kinesisClient.putRecord(putRecordRequest);
System.out.println("Successfully putrecord, partition key : " + putRecordRequest.getPartitionKey()
+ ", ShardID : " + putRecordResult.getShardId());
System.out.println(fileContent);
System.out.println("Sequence Number: "+putRecordResult.getSequenceNumber());
System.out.println("Data has been PUT successfully");
}
}
हालांकि सर्वर से स्रोत फ़ोल्डर और फिर से फ़ाइल को पढ़ने क्या डिजाइन मैं करने के लिए putData कॉल करने के लिए उपयोग करना चाहिए Kinesis धारा पर रिकॉर्ड प्राप्त करें। क्या मुझे अनंत लूप की आवश्यकता है और सभी फाइलें पढ़ने की ज़रूरत है और फिर यह या कुछ ढांचा करें जो गलती सहनशीलता, असफलता के एक बिंदु के साथ बेहतर तरीके से ऐसा करेगी। किसी भी तरह की सहायता का स्वागत किया जाएगा।
संक्षिप्त रूप से: मुझे नियमित रूप से जेनरेट किए गए डेटा को किनेसिस स्ट्रीम में रखने के लिए एक बेहतर तकनीक की आवश्यकता होती है, जो सर्वर को नियमित अंतराल पर उत्पन्न होता है। धन्यवाद
हाँ मैं Kinesis से S3 के लिए डेटा ले जाने के कर रहा हूँ। मैं प्रत्येक दिन के लिए अपने सर्वर से फ़ोल्डर से फ़ाइलों को पढ़ने के लिए कुछ तैयार किए गए समाधान देख रहा था और इन सभी डेटा कोनेसिस स्ट्रीम में डाल दिया। ठीक है मेरे सर्वर में मेरे पास अलग-अलग तारीख के लिए एकाधिक फ़ोल्डर हैं और प्रत्येक दिन लॉग जानकारी वाले कई फाइलें होती हैं। मैं इसे किनेसिस स्ट्रीम में स्थानांतरित करना चाहता हूं। इस स्तर पर मुझे लगता है कि मैं घटनाओं को पढ़ने के लिए कुछ थ्रेड देरी के साथ अनंत लूप के साथ सरल प्रोग्राम लिख सकता हूं और कुछ पहले से ही सिद्ध समाधान मौजूद नहीं होने पर किनेसिस में स्थानांतरित हो सकता है। धन्यवाद – Sam
क्या मैं Kinesis स्ट्रीम में डेटा डालने के लिए RabbitMQ का उपयोग कर सकता हूं। ? – Sam
अमेज़ॅन बॉक्स पुशिंग प्रोग्राम से बाहर कोई भी प्रदान नहीं करता है। आपको इसे स्वयं बनाना होगा। RabbitMQ –