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つ