我使用 SPARK Java API 讀取文本文件,將其轉換為 JSON,然后對其應用架構。架構可能會根據數據庫中的映射表而有所不同,這就是為什么我需要首先將文件轉換為 JSON,以便架構映射不必按列順序。這是我所做的:// Defined the schema (basic representation)StructType myschema = new StructType().add("a", DataTypes.StringType, true) .add("b", DataTypes.StringType, true) .add("x", DataTypes.StringType, true) .add("y", DataTypes.IntegerType, true) .add("z", DataTypes.BooleanType, true);//Reading a pipe delimited text file as JSON, the file has less columns than myschemaDataset<String> data = spark.read().option("delimiter","|").option("header","true").csv(myFile).toJSON();上表返回類似這樣的內容:data.show(false);|value|+----------------------------------------+| {"x":"name1","z":"true","y":"1234"}|| {"x":"name2","z":"false","y":"1445"}|| {"x":"name3","z":"true",:y":"1212"}|當我運行這個時,我的問題出現了:Dataset<Row> data_with_schema = spark.read().schema(myschema).json(data);因為我的結果變成了這樣:data_with_schema.show(false);|x|y|z|+-------+-------+-------+|null |null |null ||null |null |null ||null |null |null |我在 stackoverflow 上讀到這可能是因為我試圖將 json 字符串轉換為整數。但是,我嘗試將數據變量定義為行數據集而不是字符串數據集,但出現不兼容類型錯誤。我不確定解決方法是什么或真正的問題是什么。
添加回答
舉報
0/150
提交
取消