Я хочу отфильтровать СДР, созданный из набора данных на основе
длина линии Использование: Pyspark shell
Мой файл данных выглядит так
> fzDTn342L3Q djjohnnykey 599 Music 185 1005 3.67 3 1 KDrJSNIGNDQ MacjQFNVLlQ oZ6f2vaH858 fYSjMDNa4S8 JUatPzf_eSc QfBFl7kU35c rG-rQ-YGdSA kOq6sFmoUr0 IRj1IABVBis AVsZ0VH3eN4 r1pS_4qouUc YgaNW1KRgK4 ZlGdVR7mBy4 nKFLE3DX4OQ EtQjN6CQeCc afe-0VY4YiI ekV5NseEdy8 IQs6CrER5fY jTLcoIxMI-E yfvW1ITcMpM
>
> kOq6sFmoUr0 djjohnnykey 599 Music 113 992 0 0 1 MacjQFNVLlQ fYSjMDNa4S8 4vso1y_-cvk 8BwAX6YBx3E QeUQyf8H7vM jmc21-Nhewg hZUU2-UBaGk SaLaotssH0w PUlcrBaYpwI tjIK2xop4L0 BNlL15OYnFY _pzP7OLInjk 4daGJ6TMcp4 _8jM9R-1yRk KDrJSNIGNDQ oZ6f2vaH858 JUatPzf_eSc QfBFl7kU35c rG-rQ-YGdSA fzDTn342L3Q
Здесь четвертый столбец - категория. Некоторые строки в файле данных
не содержит этого поля и, следовательно, меньше по длине. Это мотивирует
мне отфильтровать набор данных на основе этого критерия и дальнейшей формы
СДР для этого набора данных, который имеет категорию.
Я попытался создать начальный RDD из набора данных.
>>> data="/Users/sk/Documents/BigData/0222/0.txt"
>>> input = sc.textFile(data)
Теперь я делю по табу и сохраняю в строках RDDS
>>> lines = input.map(lambda x: (str(x.split('\t'))))
После этого я хочу отфильтровать строки, длина которых меньше 3.
>>> data="/Users/sk/Documents/BigData/0222/1.txt"
>>> input = sc.textFile(data)
>>> lines = input.map(lambda x: (str(x.split('\t'))))
>>> lines.count()
3169
>>> newinput=input.filter(lambda x: len(x)>3)
>>> newinput.count()
3169
После этого это ничего не меняет в моем rdd. Может кто-нибудь
пожалуйста, помогите.