Pada masa ini, syarikat menggunakan HDFS untuk menyimpan log yang dimuat naik oleh setiap pelayan nod. Kerana isu sejarah, balak agak bercampur-campur. Maksudnya, semua jenis data akan disimpan dalam log. Fail log adalah kira-kira 200mb. Kadangkala untuk menapis beberapa kandungan, anda perlu menggunakan arahan kucing hdfs berdasarkan cap waktu, dan kemudian grep kata kunci. Kemudian masukkannya ke dalam skrip python melalui stdin untuk melakukan beberapa pemprosesan pada data yang berkaitan.
Sekarang saya ingin membuatnya supaya saya boleh memasukkan masa, nod, kata kunci dan model padanan untuk ditanya, dan kemudian menyelesaikan tugasan dalam satu langkah. Dengan cara ini, alat ini boleh ditolak kepada semua orang yang memerlukan data, bukannya meminta operasi dan penyelenggaraan untuk menanyakannya setiap kali.
Jadi saya mula mempelajari modul berkaitan python ini hdfs boleh dimuat naik dan dimuat turun, dan kandungan fail direktori boleh ditanya. Tapi bila baca part ni, makin menyusahkan.
dengan client.read(hdfs_path=....., parameter lain) sebagai pembaca:
content = reader.read() 然后再对content处理
Kaedah ini tidak boleh dilaksanakan kerana terdapat terlalu banyak kandungan yang perlu dipadankan pada satu masa, mungkin beberapa gigabait data, dan adalah mustahil untuk membaca semuanya dan kemudian memprosesnya. Anda mesti menapis dan memprosesnya semasa proses membaca
Saya cuba untuk kandungan baris, tetapi ia tidak dapat menandingi kandungan.
Bagaimana untuk menyelesaikan masalah ini? Adakah mungkin untuk menggunakan python untuk merekodkan laluan fail yang memenuhi syarat, kemudian laksanakan arahan HDFS, dan kemudian pindahkan data yang sepadan ke python? Itu nampaknya terlalu menyusahkan, dan kestabilan pastinya tidak baik
Kemudian saya melihat dan mendapati bahawa apabila mencipta klien modul hdfs, ia disambungkan ke halaman pengurusan web hadoop 50070. Saya tertanya-tanya adakah modul ini sendiri tidak digunakan untuk analisis data? Harap anda boleh memberi saya sedikit bantuan
Bagaimana pula dengan pengkomputeran berbilang benang dan selari? Membaca beberapa Gb serentak secara semula jadi adalah perlahan. Memandangkan ia adalah rangka kerja hadoop, ia sepatutnya cukup untuk menggunakan mapreduce dengan baik. Perkara ini mungkin tidak direka untuk kelajuan.