Spark sql:ロードおよび保存操作-Sparkスタディノートの1つ

1つは、基本的な操作を読み込んで保存することです

Spark SQL DataFrameの場合、DataFrameから作成されるデータソースに関係なく、いくつかの一般的なロードおよび保存操作があります。

ロード操作は、主にデータのロードとDataFrameの作成に使用されます。

保存操作は、主にDataFrame内のデータをファイルに保存するために使用されます。

 

Scalaの実装:

package **.tag.test


import org.apache.spark.sql.SQLContext
import org.apache.spark.{SparkConf, SparkContext}

object GenericLoadSave {

    def main(args: Array[String]) {

      val conf = new SparkConf()
        .setAppName("GenericLoadSave")

      val sc = new SparkContext(conf)
      val sqlContext = new SQLContext(sc)

      val usersDF = sqlContext.read.load("hdfs://ns1/***/users.parquet")
      usersDF.write.save("hdfs://ns1/home/***/nameAndFavoriteColors_scala")
     usersDF.select("name","favorite_color").write.save("hdfs://ns1/***/nameAndFavoriteColors_scala")
   }
}

 

2つ目は、データソースタイプを手動で指定することです。

Spark SQLには、json、parquet、jdbcなど、さまざまなタイプのデータソース間で変換できる組み込みのデータソースタイプがいくつかあります。

val df = sqlContext.read .format( "json")。load( "people.json")

df.select( "name"、 "age")。write .format( " parquet ")。save( "nameAndAges.parquet")

 

3、SaveMode

Spark SQLは、保存操作にさまざまな保存モードを提供します。主に、ターゲットの場所にデータがある場合の処理​​方法を処理するために使用されます。

saveMode.ErrorifExists(デフォルト):データがターゲットの場所にすでに存在する場合、例外がスローされます。

saveMode Append:データがターゲットの場所にすでに存在する場合は、データを追加します。

saveMode Overwrite:データがターゲットの場所にすでに存在する場合は、上書きします。

saveMode.ignore:ターゲットの場所にすでにデータがある場合、タスク操作は実行されず、無視されます。

 

Beifengネットスパーク研究ノートの1つ

 

おすすめ

転載: blog.csdn.net/limiaoiao/article/details/106527536