Za pomocą MapReduce'a chce przekształcić plik csv (by dało to co pandas.unstack(), zmiana formatu tabeli z "szerokiego" na "wąską i długą"), napisałem prosty mapper i reducer, działa, tylko że wiersze w wyniku są oddzielone pustymi liniami. Jak można to tak zredukować, żeby otrzymać plik a'la csv, bez pustych linii?
@meohaw Wydaje mi się że to nie kwestia kodu, tylko ustawień MapReduce'a, ale proszę: mapper: import sys for line in sys.stdin: line = line.split(',') for id in range(len(line) -
@krolikbartek: https://ideone.com/fL88AF wejście zawiera nowe linie, więc jak nie chcesz ich na wyjściu to musisz je usunąć, na przykład z pomocą line.strip()
@meohaw Podpowiesz mi może jak ładnie ominąć pierwszy wiersz w mapperze? Aktualnie mam ifa sprawdzającego czy wartość pierwszego pola z wiersza to 'timestamp', czyli coś co jest jest tylko w pierwszym wierszu. Fajne byłoby obcięcie tego wejścia o pierwszą pozycję ( [1:] ), ale nie działa mi to w ten sposób
Jak można to tak zredukować, żeby otrzymać plik a'la csv, bez pustych linii?
#hadoop #python #programowanie #datascience
mapper:
import sys
for line in sys.stdin:
line = line.split(',')
for id in range(len(line) -
@krolikbartek: nie wina telefonu. Wypok cannot into wcięcia ( ͡° ʖ̯ ͡°) Używaj jakiegoś pastebina zawsze. Ja polecam dpaste.de bo ładne kolorki ma.
wejście zawiera nowe linie, więc jak nie chcesz ich na wyjściu to musisz je usunąć, na przykład z pomocą line.strip()
Fajne byłoby obcięcie tego wejścia o pierwszą pozycję ( [1:] ), ale nie działa mi to w ten sposób
Google zna odpowiedzi na tak zadane pytania :)