2016-11-01 5 views
-1

私はこれに類似したデータを持っています。spark-csvの "DATE"データ型の書き方

no,full_name,Ocupation,DOB 
1,Eugene Perry,Physical Therapy Assistant,11/22/1972 
2,Scott Evans,Account Executive,8/25/1961 
3,Harold Porter,Community Outreach Specialist,4/5/1986 
4,Roger Turner,Account Coordinator,12/24/1989 
5,Patrick Freeman,Geological Engineer,2/11/1990 
6,Jonathan Hart,Safety Technician I,7/24/1963 
7,Susan Jenkins,Nurse,4/17/1967 
8,Jason Graham,Internal Auditor,10/18/1966 
9,Mark Wells,VP Marketing,2/20/1990 

これと同様に私のコード:(Java)の

SparkSession spark = SparkSession 
       .builder() 
       .appName("Java Spark SQL Example") 
       .config("spark.some.config.option", "some-value") 
       .config("spark.sql.warehouse.dir", "file:///C:/tmp/") 
       .getOrCreate(); 

     StructType Const = new StructType(new StructField[] { 
      new StructField("no", DataTypes.IntegerType, true, Metadata.empty()), 
      new StructField("full_name", DataTypes.StringType, true, Metadata.empty()), 
      new StructField("Ocupation", DataTypes.StringType, true, Metadata.empty()), 
      new StructField("DOB", DataTypes.DateType, true, Metadata.empty()) 
     }); 
       Dataset<Row> Tem = spark.read().format("com.databricks.spark.csv") 
         .schema(Const).option("header", "true").option("delimiter", ",").option("dateFormat", "MM/DD/YYYY") 
         .load("E:\\Datasets\\people.csv"); 

       Tem.show(); 
       Tem.printSchema(); 
       Tem.coalesce(1).write() 
        .format("com.databricks.spark.csv") 
        .option("header", "true").option("dateFormat", "MM/DD/YYYY") 
        .save("E:\\Datasets\\output"); 

コード上記のエラーなしで正常に動作しますが、DATEデータ型( "DOB")欄が正しくフラットファイルには印刷されません。

私の実際の結果は次のとおりです。

no,full_name,Ocupation,DOB 
1,Eugene Perry,Physical Therapy Assistant,724 
2,Scott Evans,Account Executive,-3287 
3,Harold Porter,Community Outreach Specialist,5841 
4,Roger Turner,Account Coordinator,6940 
5,Patrick Freeman,Geological Engineer,7304 
6,Jonathan Hart,Safety Technician I,-2559 

私は.option("dateFormat", "MM/DD/YYYY")を使用していていても。

最後の列を参照してください。「日付」フォーマットは.csvファイルでは機能しません。 私は何が不足しているのか分かりません。

+0

そのworking.youは私のコードでdd' 'てみました – mrsrinivas

+0

を試してみてください? –

+0

を確認することができない、'私が試し.OPTION( "DATEFORMAT"、 "MM/DD/YYYY") ' – mrsrinivas

答えて

0

この問題は、スパークバージョン2.0.0に関連しています。

spark 2.0.1にアップグレードし、組み込みspark CSV形式を使用して問題を修正します。

参照link

関連する問題