Spark数据集,即使存在,也找不到列

时间:2018-07-25 15:05:23

标签: java apache-spark join dataset

我是Spark的新手,我在数据集上的连接方面有些挣扎。

我有两个数据集,想要合并它们:setA和setB,setB是已经加入的数据集的结果。

setA加入的Col是 fuhrparkNummer ,而setB加入的是 fuhrpark

keinBeladeendeDataset = setA
    .join(setB, setA.col("fuhrparkNummer").equalTo(setB.col("fuhrpark")))
    .select(
        setA.col("ColA"),
        setB.col("ColB")   
    );

使用setB.show()打印出setB;显示存在名为 fuhrpark 的列:

+------+------------------+--------+-------------------+----------+------+----+--------------+----------+
| colA |colB              |fuhrpark|colD               |   .......|......|....|..............|..........|
+------+------------------+--------+-------------------+----------+------+----+--------------+----------+
|237543|              null|     004|                  1|2018-07-03|  null|null|          null|        RC|
+------+------------------+--------+-------------------+----------+------+----+--------------+----------+

仍然,我收到fuhrpark未知的错误。

org.apache.spark.sql.AnalysisException: resolved attribute(s) fuhrpark#7 missing from fuhrpark#3767,liefDat#3769,tour#3771,datumTyp#2676,nveId#3764,verdichtetAufNveId#3766,kostenstelle#3289,nve#3146,lhmKuerzel#3773,planId#3770,beladen#3305,zielFuhrparkNr#3772,marktbelastungFahrerscan#3271,nveId#4,datum#2664,lager#3274,marktbelastungMarktScan#3273,transportStufeT2617#3768,fuhrparkNummer#3270,marktbelastungWkf#3272,typ#3145 in operator !Join Inner, (fuhrparkNummer#3270 = fuhrpark#7);;
!Join Inner, (fuhrparkNummer#3270 = fuhrpark#7)
:- Repartition 1, true
:  +- Project [nveId#4, fuhrparkNummer#3270, datum#2664, datumTyp#2676, marktbelastungFahrerscan#3271, marktbelastungWkf#3272, marktbelastungMarktScan#3273, nve#3146, lager#3274, typ#3145, kostenstelle#3289, beladen#3305]
:     +- Project [nveId#4, fuhrparkNummer#3270, datum#2664, datumTyp#2676, marktbelastungFahrerscan#3271, marktbelastungWkf#3272, marktbelastungMarktScan#3273, nve#3146, lager#3274, typ#3145, wwRegion#3169, wwBereich#3170, wwZaehlnummer#3171, kostenstelle#3289, false AS beladen#3305]
:        +- Project [nveId#4, fuhrparkNummer#3270, datum#2664, datumTyp#2676, marktbelastungFahrerscan#3271, marktbelastungWkf#3272, marktbelastungMarktScan#3273, nve#3146, lager#3274, typ#3145, wwRegion#3169, wwBereich#3170, wwZaehlnummer#3171, concat(wwRegion#3169,  , concat(wwBereich#3170,  , wwZaehlnummer#3171)) AS kostenstelle#3289]
:           +- Project [nveId#4, fuhrpark#426 AS fuhrparkNummer#3270, datum#2664, datumTyp#2676, nachbelastetFahrerscan#2283 AS marktbelastungFahrerscan#3271, nachbelastetWkf#2294 AS marktbelastungWkf#3272, nachbelastetMarktscan#2288 AS marktbelastungMarktScan#3273, nve#3146, lagerNr#3144 AS lager#3274, typ#3145, wwRegion#3169, wwBereich#3170, wwZaehlnummer#3171]
:              +- Join Inner, (nveId#4 = nveId#3148)
:                 :- Filter (nichtBeladen#2047 = true)
:                 :  +- Union
:                 :     :- Aggregate [nveId#4, datum#2664, fuhrpark#426, verdichtet#1143, beladen#1626, nichtBeladen#2047, nachbelastetFahrerscan#2283, nachbelastetMarktscan#2288, nachbelastetWkf#2294, zuBelasten#2579, datumTyp#2676], [nveId#4, datum#2664, fuhrpark#426, verdichtet#1143, beladen#1626, nichtBeladen#2047, nachbelastetFahrerscan#2283, nachbelastetMarktscan#2288, nachbelastetWkf#2294, zuBelasten#2579, datumTyp#2676]
:                 :     :  +- Project [nveId#4, datum#2664, fuhrpark#426, verdichtet#1143, beladen#1626, nichtBeladen#2047, nachbelastetFahrerscan#2283, nachbelastetMarktscan#2288, nachbelastetWkf#2294, zuBelasten#2579, V AS datumTyp#2676]
:                 :     :     +- Project [nveId#4, vorgangDatum#22 AS datum#2664, fuhrpark#426, verdichtet#1143, beladen#1626, nichtBeladen#2047, nachbelastetFahrerscan#2283, nachbelastetMarktscan#2288, nachbelastetWkf#2294, zuBelasten#2579]
:                 :     :        +- Project [nveId#4, vorgangDatum#22, kommDatum#969, fuhrpark#426, verdichtet#1143, beladen#1626, nichtBeladen#2047, nachbelastetFahrerscan#2283, nachbelastetMarktscan#2288, nachbelastetWkf#2294, zuBelasten#2579]
:                 :     :           +- Join LeftOuter, (nveId#4 = nveId#2588)
:                 :     :              :- SubqueryAlias set1
:                 :     :              :  +- Project [nveId#4, vorgangDatum#22, kommDatum#969, fuhrpark#426, verdichtet#1143, beladen#1626, nichtBeladen#2047, nachbelastetFahrerscan#2283, nachbelastetMarktscan#2288, nachbelastetWkf#2294]
:                 :     :              :     +- Join LeftOuter, (fuhrpark#426 = fuhrpark#7)
:                 :     :              :        :- SubqueryAlias set1
:                 :     :              :        :  +- Project [nveId#4, vorgangDatum#22, kommDatum#969, fuhrpark#426, verdichtet#1143, beladen#1626, nichtBeladen#2047]
:                 :     :              :        :     +- Join LeftOuter, (fuhrpark#426 = fuhrpark#7)
:                 :     :              :        :        :- SubqueryAlias set1
:                 :     :              :        :        :  +- Project [nveId#4, vorgangDatum#22, kommDatum#969, fuhrpark#426, verdichtet#1143, beladen#1626]
:                 :     :              :        :        :     +- Join LeftOuter, (fuhrpark#426 = fuhrpark#7)
:                 :     :              :        :        :        :- SubqueryAlias set1
:                 :     :              :        :        :        :  +- Project [nveId#4, vorgangDatum#22, fuhrpark#426, kommDatum#969, verdichtet#1143]
:                 :     :              :        :        :        :     +- Join LeftOuter, (fuhrpark#426 = fuhrpark#7)
:                 :     :              :        :        :        :        :- SubqueryAlias set1
:                 :     :              :        :        :        :        :  +- Project [nveId#4, vorgangDatum#22, fuhrpark#426, kommDatum#969]
:                 :     :              :        :        :        :        :     +- Join LeftOuter, (fuhrpark#426 = fuhrpark#7)
:                 :     :              :        :        :        :        :        :- SubqueryAlias set1
:                 :     :              :        :        :        :        :        :  +- Project [nveId#4, vorgangDatum#22, fuhrpark#426]
:                 :     :              :        :        :        :        :        :     +- Join Inner, (nveId#4 = nveId#423)
:                 :     :              :        :        :        :        :        :        :- SubqueryAlias set1
:                 :     :              :        :        :        :        :        :        :  +- Aggregate [lagerNr#0, typ#1, nve#2, wwIdent#3, nveId#4, verdichtetAufNveId#6, vorgangDatum#22, kolieKz#23, kommLagerNr#24, wwRegion#25, wwBereich#26, wwZaehlnummer#27], [lagerNr#0, typ#1, nve#2, wwIdent#3, nveId#4, verdichtetAufNveId#6, vorgangDatum#22, kolieKz#23, kommLagerNr#24, wwRegion#25, wwBereich#26, wwZaehlnummer#27]
:                 :     :              :        :        :        :        :        :        :     +- Project [lagerNr#0, typ#1, nve#2, wwIdent#3, nveId#4, verdichtetAufNveId#6, vorgangDatum#22, kolieKz#23, kommLagerNr#24, wwRegion#25, wwBereich#26, wwZaehlnummer#27]
:                 :     :              :        :        :        :        :        :        :        +- Relation[lagerNr#0,typ#1,nve#2,wwIdent#3,nveId#4,verdichtetAuf#5,verdichtetAufNveId#6,fuhrpark#7,transportStufeT2617#8,liefDat#9,planId#10,tour#11,zielFuhrparkNr#12,lhmKuerzel#13,trackTs#14,rolle#15,nveStatusFail#16,nveStatus#17,memo#18,trackUser#19,trackFp#20,transportStufeT2618#21,vorgangDatum#22,kolieKz#23,... 4 more fields] csv
:                 :     :              :        :        :        :        :        :        +- Aggregate [nveId#423, fuhrpark#426], [nveId#423, fuhrpark#426]
:                 :     :              :        :        :        :        :        :           +- Project [nveId#423, fuhrpark#426]
:                 :     :              :        :        :        :        :        :              +- SubqueryAlias set2
:                 :     :              :        :        :        :        :        :                 +- Aggregate [nveId#423, verdichtetAufNveId#425, fuhrpark#426, transportStufeT2617#427, liefDat#428, planId#429, tour#430, zielFuhrparkNr#431, lhmKuerzel#432], [nveId#423, verdichtetAufNveId#425, fuhrpark#426, transportStufeT2617#427, liefDat#428, planId#429, tour#430, zielFuhrparkNr#431, lhmKuerzel#432]
:                 :     :              :        :        :        :        :        :                    +- Project [nveId#423, verdichtetAufNveId#425, fuhrpark#426, transportStufeT2617#427, liefDat#428, planId#429, tour#430, zielFuhrparkNr#431, lhmKuerzel#432]
:                 :     :              :        :        :        :        :        :                       +- Relation[lagerNr#419,typ#420,nve#421,wwIdent#422,nveId#423,verdichtetAuf#424,verdichtetAufNveId#425,fuhrpark#426,transportStufeT2617#427,liefDat#428,planId#429,tour#430,zielFuhrparkNr#431,lhmKuerzel#432,trackTs#433,rolle#434,nveStatusFail#435,nveStatus#436,memo#437,trackUser#438,trackFp#439,transportStufeT2618#440,vorgangDatum#441,kolieKz#442,... 4 more fields] csv
:

有人可以告诉我我在做什么错吗,为什么以前在Error-Msg中有如此多的联接? Spark是否以某种方式将先前的联接存储在数据集对象中?

很高兴获得帮助。

0 个答案:

没有答案