第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

嘗試將架構(gòu)應(yīng)用于 JSON 數(shù)據(jù)時(shí),SPARK 數(shù)據(jù)幀返回 null

嘗試將架構(gòu)應(yīng)用于 JSON 數(shù)據(jù)時(shí),SPARK 數(shù)據(jù)幀返回 null

拉丁的傳說(shuō) 2023-10-13 16:20:18
我使用 SPARK Java API 讀取文本文件,將其轉(zhuǎn)換為 JSON,然后對(duì)其應(yīng)用架構(gòu)。架構(gòu)可能會(huì)根據(jù)數(shù)據(jù)庫(kù)中的映射表而有所不同,這就是為什么我需要首先將文件轉(zhuǎn)換為 JSON,以便架構(gòu)映射不必按列順序。這是我所做的:// 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();上表返回類似這樣的內(nèi)容:data.show(false);|value|+----------------------------------------+|      {"x":"name1","z":"true","y":"1234"}||      {"x":"name2","z":"false","y":"1445"}||      {"x":"name3","z":"true",:y":"1212"}|當(dāng)我運(yùn)行這個(gè)時(shí),我的問(wèn)題出現(xiàn)了:Dataset<Row> data_with_schema = spark.read().schema(myschema).json(data);因?yàn)槲业慕Y(jié)果變成了這樣:data_with_schema.show(false);|x|y|z|+-------+-------+-------+|null  |null  |null  ||null  |null  |null  ||null  |null  |null  |我在 stackoverflow 上讀到這可能是因?yàn)槲以噲D將 json 字符串轉(zhuǎn)換為整數(shù)。但是,我嘗試將數(shù)據(jù)變量定義為行數(shù)據(jù)集而不是字符串?dāng)?shù)據(jù)集,但出現(xiàn)不兼容類型錯(cuò)誤。我不確定解決方法是什么或真正的問(wèn)題是什么。
查看完整描述

3 回答

?
四季花海

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊

找出問(wèn)題所在:

如果輸入文件中的數(shù)據(jù)無(wú)法應(yīng)用架構(gòu),則表中的所有數(shù)據(jù)都會(huì)返回 Null。例如:“1n”不可能轉(zhuǎn)換為整數(shù)。如果將 DataTypes.IntegerType 應(yīng)用于包含“1n”的列,則整個(gè)表都具有空值。


查看完整回答
反對(duì) 回復(fù) 2023-10-13
?
小怪獸愛(ài)吃肉

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊

我認(rèn)為發(fā)生這種情況是由于 JSON 和定義的架構(gòu)中的數(shù)據(jù)類型不匹配。例如,在 JSON 屬性中,“age”為整數(shù),但 schema 定義了“age”為 String 類型。由于這種不匹配,所有數(shù)據(jù)都為空。



查看完整回答
反對(duì) 回復(fù) 2023-10-13
?
躍然一笑

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊

不確定這是否有幫助,但在 Spark 中讀取 JSON 文件時(shí),請(qǐng)確保架構(gòu)和 JSON 文件中的列名稱完全匹配。否則它將顯示空值。



查看完整回答
反對(duì) 回復(fù) 2023-10-13
  • 3 回答
  • 0 關(guān)注
  • 158 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)