2016-08-10 3 views
0

API url과 데이터 처리 기능에 필요한 데이터를 반환하는 getUserPost() 메소드가 제공되었습니다. 다음과 같이 suds.client에서 Client를 사용하여 데이터를 가져올 수 있습니다.Pyspark : 주어진 API URL에서 데이터를 스트리밍하는 방법

from suds.client import Client 
from suds.xsd.doctor import ImportDoctor, Import 

url = 'url' 
imp = Import('http://schemas.xmlsoap.org/soap/encoding/') 
imp.filter.add('filter') 
d = ImportDoctor(imp) 
client = Client(url, doctor=d) 
tempResult = client.service.getUserPosts(user_ids = '',date_from='2016-07-01 03:19:57', date_to='2016-08-01 03:19:57', limit=100, offset=0) 

이제 각 tempResult에는 100 개의 레코드가 포함됩니다. 병렬화 처리를 위해 주어진 API url에서 RDD로 데이터를 스트리밍하고 싶습니다. 그러나, pySpark.Streaming documentation을 읽은 후 사용자 정의 된 데이터 소스에 대한 스트리밍 방법을 찾을 수 없습니다. 아무도 나에게 이상을주는 방법을 줄 수 있습니까?

감사합니다.

+0

https://spark.apache.org/docs/latest/streaming-custom-receivers.html (Python에서는 직접 가능하지 않음)하지만 설명을 보면 Spark 스트리밍의 경우처럼 보이지 않습니다. – zero323

+0

나는 그것에 대해 같은 느낌을 가지고있다. 스파크 스트리밍의 개념에 뭔가 빠졌는지 확실하지 않습니다. 응답을 위해 주변을 파고 아직도 – TheCyberliem

답변

0

얼마 지나지 않아서 문제를 해결하는 방법을 발견했습니다. 나는 Kafka Streaming을 사용했다. 기본적으로 주어진 API로부터 생성자를 생성하고, 통신을 위해 주제와 포트를 지정해야합니다. 그런 다음 소비자가 특정 주제와 포트를 듣고 데이터 스트리밍을 시작합니다.

실시간 스트리밍을 보관하려면 생산자와 소비자가 서로 다른 스레드로 작동해야합니다.

관련 문제