私はApache SparkとApache Kylinで作業しています。私はKylinの中にキューブを作成できるように、HDFSにcsvファイルを保存する必要があります。RDDからCSV JAVA
bookingDF.write().format("com.databricks.spark.csv").option("header", "true").save("hdfs://10.7.30.131:8020/tmp/hfile/e.csv");
が、私はいつもかなり長い。このようなエラーを取得していると私は思う:アイデアは、私はcsvファイルに取得し、私はこのようなCSVファイルに私のRDDを変換しようとしていたRDDを変換することですそれがために私が使用しているオブジェクトのフィールド日は次のとおりです。
17/01/19 14:50:24 ERROR Utils: Aborting taskscala.MatchError: Fri Dec 09 07:45:27 CET 2016 (of class java.util.Date)
at org.apache.spark.sql.catalyst.CatalystTypeConverters$StructConverter.toCatalystImpl(CatalystTypeConverters.scala:255)
at org.apache.spark.sql.catalyst.CatalystTypeConverters$StructConverter.toCatalystImpl(CatalystTypeConverters.scala:250)
at org.apache.spark.sql.catalyst.CatalystTypeConverters$CatalystTypeConverter.toCatalyst(CatalystTypeConverters.scala:102)...
私は私が使用しているJavaオブジェクトのコードを添付ダウンの下:
@JsonIgnoreProperties(ignoreUnknown = true)
public class Booking implements Serializable {
private String bPk;
private String type;
private String transactionId;
private Boolean revisit;
private String device;
@JsonProperty("serverTime")
private Date time;
private String trackingId;
private String browserFamily;
@JsonProperty("action")
private String measure;
private String userId;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getMeasure() {
return measure;
}
public void setMeasure(String measure) {
this.measure = measure;
}
public String getBrowserFamily() {
return browserFamily;
}
public void setBrowserFamily(String browserFamily) {
this.browserFamily = browserFamily;
}
public void setTime(Date time) {
this.time = time;
}
public String getTrackingId() {
return trackingId;
}
public void setTrackingId(String trackingId) {
this.trackingId = trackingId;
}
public Date getTime() {
return time;
}
....
私はわからないんだけど何私は間違っている、私はtransfしようとしたorm java.util.date to java.sql.dateしかし、私はまだjava.sql.dateと同じエラーを取得しています。
わかりやすい質問をする必要がありますが、どのような日付のオブジェクトタイプが欲しいですか? – EngineerExtraordinaire
私はそれがjava.date.utilを受け入れないことを知ったので、私はタイムスタンプを使いました。あなたはそれをどうやって知ったのですか?私はラインエラーのために意味する??私は学んでいるので、それは必要な日付オブジェクトタイプを見ることができませんでした。 – Orbar
はい私はラインエラーから知っていた。それはそれが一致しないと言いました、それはそれが何か特定のものを探していることを意味します。 – EngineerExtraordinaire