Läsa in data med Petastorm

Petastorm är ett data åtkomst bibliotek med öppen källkod. Det här biblioteket möjliggör enkel-nod eller distribuerad utbildning och utvärdering av modeller för djup inlärning direkt från data uppsättningar i Apache Parquet-format och data uppsättningar som redan har lästs in som Apache Spark DataFrames. Petastorm stöder populära python-baserade Machine Learning-ramverk (ML) som Tensorflow, PyTorch och PySpark. Mer information om Petastorm finns i Petastorm GitHub-sidan och Petastorm API-dokumentationen.

Läsa in data från Spark-DataFrames med Petastorm

API för Petastorm Spark-omvandlare fören klar data konverteringen från Spark till TensorFlow eller PyTorch. DataFrame för indatamängds-Spark materialiseras först i Parquet-format och läses sedan in som tf.data.Dataset eller torch.utils.data.DataLoader . Se API-avsnittet Spark dataset Converter API i Petastorm API-dokumentationen.

Rekommenderat arbets flöde är:

  1. Använd Apache Spark för att läsa in och eventuellt Förbearbeta data.
  2. Använd Petastorm- spark_dataset_converter metoden för att konvertera data från en spark-DataFrame till en TensorFlow-datauppsättning eller en PyTorch-DataLoader.
  3. Mata in data i ett DL-ramverk för utbildning eller härledning.

Konfigurera cache-katalog

Petastorm Spark-konverteraren cachelagrar indata Spark-DataFrame i Parquet-format i en användardefinierad katalog plats för cache. Katalogen cache måste vara en DBFS-SÄKRINGs Sök väg file:///dbfs/ som börjar med, till exempel, file:///dbfs/tmp/foo/ som refererar till samma plats som dbfs:/tmp/foo/ . Du kan konfigurera cache-katalogen på två sätt:

  • Lägg till raden i kluster Spark-konfigurationen : petastorm.spark.converter.parentCacheDirUrl file:///dbfs/...

  • Ring följande i din bärbara dator spark.conf.set() :

    from petastorm.spark import SparkDatasetConverter, make_spark_converter
    
    spark.conf.set(SparkDatasetConverter.PARENT_CACHE_DIR_URL_CONF, 'file:///dbfs/...')
    

Du kan antingen uttryckligen ta bort cacheminnet när du har använt det genom converter.delete() att anropa eller hantera cachen implicit genom att konfigurera livs cykel reglerna i objekt lagringen.

Databricks har stöd för DL-utbildning i tre scenarier:

  • Utbildning med en nod
  • Justering av distribuerad grundparameter
  • Distribuerad träning

Exempel på slut punkt till slut punkt finns i följande antecknings böcker:

Läs in Parquet-filer direkt med Petastorm

Den här metoden är mindre önskad än Petastorm Spark Converter API.

Rekommenderat arbets flöde är:

  1. Använd Apache Spark för att läsa in och eventuellt Förbearbeta data.
  2. Spara data i Parquet-format i en DBFS-sökväg som har en kopplad SÄKRINGs anslutning.
  3. Läs in data i Petastorm-format via den säkra monterings punkten.
  4. Använd data i ett DL-ramverk för utbildning eller härledning.

Se exempel på en bärbar dator för ett slut punkt till slut punkts exempel.

Exempel

Förenkla data konvertering från Spark till TensorFlow Notebook

Hämta notebook-fil

Förenkla data konvertering från Spark till PyTorch Notebook

Hämta notebook-fil

Använd Spark och Petastorm för att förbereda data för djup inlärnings dator

Hämta notebook-fil