Сбой работы без подробностей. Я использовал простой rdd.map, преобразовал в DF и показал () - PullRequest
0 голосов
/ 08 мая 2019

Я супер новичок с pyspark.Просто пробую код для обработки моих документов в Сообществе Databricks.У меня много html-страниц в Dataframe, и мне нужно сопоставить функцию, которая очищает все html-теги.

from selectolax.parser import HTMLParser
def get_text_selectolax(html):
    tree = HTMLParser(html)
    if tree.body is None:
        return None
    for tag in tree.css('script'):
        tag.decompose()
    for tag in tree.css('style'):
        tag.decompose()
    for node in tree.css('body'):
      if node.tag == "strong":
        print( "node.html" )
        print( node.html )
    text = tree.body.text(separator='\n')
    return text

df_10 = df.limit(10) #Out: df_10:pyspark.sql.dataframe.DataFrame
rdd_10_2 = df_10.select("html").rdd.map( get_text_selectolax )
schema = StructType([
    StructField("html", StringType()),
])
df_10_2 = spark.createDataFrame(rdd_10_2, schema)
df_10_2.show() #-----------> here the code failure

Я хочу очистить все свои документы и заставить работать Dataframe.Thx

Вот полная записная книжка: https://databricks -prod-cloudfront.cloud.databricks.com / public / 4027ec902e239c93eaaa8714f933acac8714f173bcfc / 5506005740338231/939083865254574/8659136733442891/1008 ** 100h

1 Ответ

0 голосов
/ 15 мая 2019

Я мог бы заставить эту штуку работать, но в scala, что мне подходит.

val version = "3.9.1"
val baseUrl = s"http://repo1.maven.org/maven2/edu/stanford/nlp/stanford-corenlp"
val model = s"stanford-corenlp-$version-models.jar" // 
val url = s"$baseUrl/$version/$model"
if (!sc.listJars().exists(jar => jar.contains(model))) {
  import scala.sys.process._
  // download model
  s"wget -N $url".!!
  // make model files available to driver
  s"jar xf $model".!!
  // add model to workers
  sc.addJar(model)
}

import org.apache.spark.sql.functions._
import com.databricks.spark.corenlp.functions._

val df_limpo = ds.select(cleanxml('html).as("acordao"))
...