İhtiyacımı olabildiğince iyi tanımlamaya çalışacağım. Ama hala belirsiz olup olmadığını bana sormaya çekinmeyin.Spark Stream kaynağımı tasarlarken bazı tavsiyelerde bulunabilir misiniz?
ortamı I (gelecekte daha olacaktır) 5 düğümleri vardır. Her biri 5 dakikada bir büyük bir CSV dosyası (yaklaşık 1 ila 2 GB) oluşturur. Bu CSV dosyalarını beş dakika içinde işlemek için apache kıvılcım akımını kullanmalıyım. Yani bu 5 dosya benim giriş DStream kaynağım. Ben
yapmayı planladıklarını ne
aşağıda gibi textFileStream kullanmayı planlıyor:
ssc.textFileStream(dataDirectory)
Her 5 dakikada ben HDF'ler bir dizinde olanlar CSV koyacağız. Daha sonra inputDStream oluşturmak için yukarıdaki işlevi kullanın.
yukarıdaki şekilde sorunu
textFileStream bir tam dosya yerine 5 dosyalar gerekir. Ben HDF'ler dosyaları birleştirmek için nasıl bilmiyorum
Soru
- nasıl piton tarafından HDF'ler dosyaları birleştirmek için bana söyleyebilir misiniz?
- Yolumdan daha iyi bir öneriniz var mı? Ayrıca beni
Teşekkür @Manas (Gelen dosya için izliyor) klasörüne gitmek gerekir. Fakat DStream'i inşa etmek için. TextFileStream API'sini kullanmam gerekiyor. Ve bu API bir dizini parametre olarak kabul ediyor. Yani bir kod örneği verebilir misiniz lütfen? –
Evet, 'textFileStream' bir dizini parametre olarak alır. Herhangi bir noktada bu dizine gelen dosyalar, herhangi bir zamanda bir RDD'nin parçası olabilir. Şu anda benimle textFileStream örneğim yok. Fakat onu aramaya devam edip onu bulduğumda yayınlayacağım. – Manas
Aslında DStream'in bir dizi RDD tarafından yapıldığını biliyoruz. Bu yüzden, her 5 dakikada bir wild card ile bir dizindeki dosyaları okuyabilir, ardından bu RDD ile DStream'i kurabiliriz. Ancak, bu RDD ile DStream oluşturmanın uygun bir yolunu bilmiyorum. Herhangi bir fikrin var mı? –