0
我想從hdfs讀取模式以加載到我的數據框中。這允許架構更新並位於Spark Scala代碼之外。我想知道做這件事的最好方法是什麼?以下是我目前在代碼中的內容。更新數據幀架構讀取Spark Scala
val schema_example = StructType(Array(
StructField("EXAMPLE_1", StringType, true),
StructField("EXAMPLE_2", StringType, true),
StructField("EXAMPLE_3", StringType, true))
def main(args: Array[String]): Unit = {
val df_example = get_df("example.txt", schema_example)
}
def get_df(filename: String, schema: StructType): DataFrame = {
val df = sqlContext.read
.format("com.databricks.spark.csv")
.option("delimiter","~")
.schema(schema)
.option("quote", "'")
.option("quoteMode", "ALL")
.load(filename)
df.select(df.columns.map(c => trim(col(c)).alias(c)): _*)
}
您是否考慮過使用parquet dataformat,該文件既具有schema中的文件,又支持優秀的壓縮和優化? –