<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Leer texto
Lo primero que tenemos que hacer es cargar el texto. Para nuestro ejemplo, cargaremos una obra del proyecto
Gutenberg.
Step1:  Ahora vamos a eliminar todo aquello que no se consideren cadenas de texto válidas. Para ello definiremos una función que elimine aquello que no queremos contabilizar.
Step2:  Ahora vamos a crear el primer RDD del contenido del libro.
<ASSISTANT_TASK:>
Python Code:
fileName='book.txt'
Explanation: Leer texto
Lo primero que tenemos que hacer es cargar el texto. Para nuestro ejemplo, cargaremos una obra del proyecto
Gutenberg.
End of explanation
import re
def removePunctuation(text):
    return re.sub('[^a-z| |0-9]', '', text.strip().lower())
Explanation: Ahora vamos a eliminar todo aquello que no se consideren cadenas de texto válidas. Para ello definiremos una función que elimine aquello que no queremos contabilizar.
End of explanation
shakespeareRDD = (sc
                  .textFile(fileName, 8)
                  .map(removePunctuation))
shakespeareRDD.take(4)
print '\n'.join(shakespeareRDD
                .zipWithIndex()  # to (line, lineNum)
                .map(lambda (l, num): '{0}: {1}'.format(num, l))  # to 'lineNum: line'
                .take(15))
Explanation: Ahora vamos a crear el primer RDD del contenido del libro.
End of explanation
<END_TASK>