データセットのエクスポート

このタスクでは、SparkRuntimeUtils オブジェクトを作成し、そのユーティリティ関数を使用します。

Spark コンテキストと通信します。このオブジェクトにより、DataFrame の保存とエクスポートがはるかに簡単になります。
始める前にデータセットの作成
    手順
  1. 次のコードを追加します。
    valsparkUtils = new SparkRuntimeUtils(sparkContext)
  2. TIBCO Data Science - Team Studio は、HDFS 上のどこにファイルを保存するかを知る必要があります。この情報は、オペレーター パラメータに関するユーザーの設定から得られます。次のコードを追加して、params 変数からその情報を取得します。
    // retrieve the storage parameters using the HdfsParameterUtils class
    val outputPath = HdfsParameterUtils.getOutputPath(params)
    val overwrite = HdfsParameterUtils.getOverwriteParameterValue(params)
    val storageFormat = HdfsParameterUtils.getHdfsStorageFormatType(params)
  3. DatasetGeneratorUtils クラスを使用して出力スキーマにアクセスします。
    val outputSchema = DatasetGeneratorUtils.getOutputSchema(params)
  4. SparkUtils が読み取れるように RDD を Spark SQL DataFrame にエクスポートし、ステップ 2 で取得したパラメーターを使用して次のコードを追加して HDFS に保存します。
    val sqlContext = new SQLContext(sparkContext)
     
    /*
    Create a Spark DataFrame. Use the rowRDD and a Spark sql schema. The SparkRuntimeUtils
    class provides methods to convert the tabular schema from Alpines format to the SparkSQLSchema.
    By creating one schema and converting it, you ensure that the runtime and design time schemas match.
    */
    val outputDF =
        sqlContext.createDataFrame(rowRDD, sparkUtils.convertTabularSchemaToSparkSQLSchema(outputSchema))
    
    /*
    * Use the Spark Utils class to save the DataFrame and create a HdfsTabularDataSet object
    */
    sparkUtils.saveDataFrame(
        outputPath,
        outputDF,
        storageFormat,
        overwrite,
        sourceOperatorInfo = None,
        addendum = Map[String, AnyRef](),
        TSVAttributes.defaultCSV
    )
    次に行うアクションシグネチャー、GUI ノード、およびランタイム Spark ジョブが記述できたので、TIBCO Data Science - Team Studio 上でコンパイルとテストを行う準備ができました。このプロセスに慣れていない場合は、「利用バージョンへのカスタム サンプル オペレーターのインストール」の手順に従ってください。コードの完成したコピーを確認するには、SimpleDatasetGenerator.scala を参照してください。 (このファイルは、「環境のセットアップ」の一部として作成しました。)