sparksql複雑なクエリOOM

、この方法は、ログのヒントの結果によるとプラットフォーム、OOMに複雑なクエリを実行します。

- SETのspark.driver.memory = 6 / 8G; OOM]が
設定spark.sql.autoBroadcastJoinThreshold = -1; [問題]

 

ビルドに十分なメモリがありませんし、すべてのワーカーノードにテーブルをブロードキャスト:スレッド「放送交換-0」java.lang.OutOfMemoryErrorをの例外。回避策として、あなたは-1 spark.sql.autoBroadcastJoinThresholdを設定することにより、どちらかを無効放送することができるか、高い値にspark.driver.memoryを設定することにより、スパーク・ドライバ・メモリを増やす
	org.apache.spark.sql.execution.exchange.BroadcastExchangeExecで$$ anonfun $ relationFuture $ 1 $$ anonfun $ $ 1.applyを適用します(BroadcastExchangeExec.scala:115)
	でorg.apache.spark.sql.execution.exchange.BroadcastExchangeExec $$ anonfun $ relationFuture $ 1 $$ anonfun $($ 1.applyを適用BroadcastExchangeExec.scala:73) 
	org.apache.spark.sql.execution.SQLExecution $ .withExecutionIdで(SQLExecution.scala:97)
	org.apache.spark.sql.execution.exchange.BroadcastExchangeExec $$ anonfun $ relationFuture $ 1.apply(BroadcastExchangeExec.scala:72)で
	でorg.apache.spark.sql.execution.exchange.BroadcastExchangeExec $$ anonfun $ relationFuture $ 1.apply(BroadcastExchangeExec.scala:72)
	scala.concurrent.impl.Future $ PromiseCompletingRunnable.liftedTree1で$ -1(Future.scala:24)
	で、 scala.concurrent.impl.Future $ PromiseCompletingRunnable.run(Future.scala:24)
	java.lang.Thread.runで(Thread.java:748)

 

2019年11月20日午後1時45分38秒スケジューラは、ジョブ・インスタンスを受け取ります。T_6466665892523663_20191120134538_2を、タイムスケジュールキューに追加。
2019年11月20日午後1時45分38秒予定開始時刻::2019年11月19日0時10分: 00、スケジューリングを待っている... 
2019年11月20日夜01時45分38秒の例の到着予定時間は、しかし、親が完了していない
2019年11月20日夜1時47分05秒インスタンスが完了している親、及び発送時、ディスパッチキューを追加します。
2019年11月20日午後01時47分05秒現在のジョブキュー0 ... 
2019年11月20日には、午後01時47分05秒スケジューリングを待っている... 
2019年11月20日午後01時47分05秒ジョブ・インスタンスにスケジュールを開始
2019年11月20日夜01時47分05秒第一ノード:10.94.0.15上糸のリソース情報を取得する。
2019年11月20日夜01時47分05秒糸:HTTP://10.94.0.16:8088 、10.94.0.10:8088は、キュー:残りのリソースのroot.hiveがある: "VCores:17、メモリ:22796M" 
2019年11月20日夜01時47分05秒は、糸のリソースの終わりを得る、ノードの分散化を開始した。
2019 -11-20午後1時47分05秒第一予定のノード:10.94.0.15成功

無料MemorySizeとして現在では、タスクの実行にメモリ要件で満足し、最後64Mしきい値内グレーターで、7240メートルIS
タスクプラグインを取得:SparkSqlプラグインの成功を。プラグイン情報:
          エンジン:SparkSql 
NodeManagersでクラスタから新しい新しいファイルアプリケーションの要求5:19/11/20午前13時47分08秒yarn.Client INFO 
          エンジンはバージョンを適応:[] 
          メーカー:
          厂商版本:
初期化タスクを開始。

获取到リソース-プラグイン:sparkSql2.2.0-cdh5.12.0-1.0.0ジャー-で-dependencies.jar 
19/11/20午後1時47分06秒INFO spark.SparkContext:実行スパークバージョン2.3.0.cloudera2 
19/11/20夜一時47分06秒INFO spark.SparkContext:提出アプリケーション:dwd_mem_2b_applet_filter_task_detail_walker_T_6466665892523663_20191120134538_2_1 
19/11/20夜1時47分07秒INFO server.Server:桟橋-9.3.z-SNAPSHOT 
11分の19 / 20午後01時47分08秒INFO client.ConfiguredRMFailoverProxyProvider:rm177にフェイルオーバ
19/11/20夜01時47分08秒INFO yarn.Client:我々のアプリケーションの確認以上のクラスタ(コンテナあたり8192メガバイト)の最大メモリ容量よりも要求していない 
夜01時47分09秒19/11/20 INFO impl.YarnClientImpl:提出アプリケーションapplication_1573451947838_0670
19/11/20 13時47分08秒INFO yarn.Client:オーバーヘッド384メガバイトを含む896メガバイトのメモリと、AMコンテナを割り当てます
INFO yarn.Client 13時47分08秒19/11/20:私たちのために、コンテナの起動コンテキストの設定AM 
19/11/20夜01時47分08秒INFO yarn.Client:私たちのAMコンテナの起動環境のセットアップ
19/11/20夜01時47分08秒INFO yarn.Client:私たちのAMコンテナのための準備リソース
11分の19 / 20午後1時47分09秒INFO yarn.Client:このResourceManagerにアプリケーションapplication_1573451947838_0670を送信 
	 ApplicationMasterホスト:N / A 
	 ApplicationMaster RPCポート:-1
19/11/20夜01時47分10秒INFO yarn.Client:application_1573451947838_0670(ACCEPTED状態)のアプリケーションレポート
:19/11/20夜01時47分10秒INFO yarn.Client 
	 クライアントトークン:N / Aの
	 診断:N / A 
	 キュー:root.hive 
	 開始時刻:1574228829689 
	 最終ステータス:UNDEFINED 
	 トラッキングURLます。http:// CDH-Hadoopの-16:8088 /プロキシ/ application_1573451947838_0670 / 
	 ユーザー:デプロイ
19/11/20夜1時47分11秒INFO yarn.Client: application_1573451947838_0670のアプリケーションレポート(状態:ACCEPTED)
19/11/20夜1時47分12秒INFO yarn.Client:application_1573451947838_0670のアプリケーションレポート(状態:ACCEPTED)
19/11/20夜1時47分13秒INFO yarn.Client:アプリケーションレポートapplication_1573451947838_0670のための(状態:RUNNING)
19/11/20夜01時47分13秒INFO yarn.Client:
	 クライアントトークン:N / Aの
	 診断:N / A 
	 ApplicationMasterホスト:10.94.0.16 
	 ApplicationMaster RPCポート:0 
	 キュー:root.hive 
19/11/20午後01時47分13秒INFO storage.BlockManager:初期化BlockManager:BlockManagerId(ドライバ、shuqiノード、36374、なし) 
	 開始時刻:1574228829689の
	 最終ステータス:不定
	 トラッキングURL:のhttp:// CDH-Hadoopの-16:8088 /プロキシ/ application_1573451947838_0670 / 
	 ユーザー:デプロイ
19/11/20夜01時47分13秒INFO storage.BlockManager:ブロックの複製のためのorg.apache.spark.storage.RandomBlockReplicationPolicyを使用しますポリシー
19/11/20夜一時47分13秒INFO storage.BlockManager:外部シャッフルサービスポート= 7337 
19/11/20夜01時47分14秒INFO scheduler.EventLoggingListener:HDFSへのロギングイベント:// hahdfs /ユーザー/火花/ spark2ApplicationHistory / application_1573451947838_0670 
19/11/20夜01時47分14秒INFO spark.SparkContext:リスナーが登録さcom.cloudera.spark.lineage.NavigatorAppListener 
19/11/20夜01時47分14秒INFO internal.SharedState:ロードハイブ設定ファイル:ファイル:/etc/hadoop/conf.cloudera.yarn/hive-site.xml 
19/11/20午前13時47分14秒INFO internal.SharedState:spark.sql。 warehouse.dirが設定されていませんが、hive.metastore.warehouse.dirが設定されています。hive.metastore.warehouse.dir(「/ユーザ/ハイブ/倉庫」)の値にspark.sql.warehouse.dirを設定します。
19/11/20夜1時47分14秒INFO internal.SharedState:倉庫パスは'/ユーザー/ハイブ/倉庫'です。
19/11/20夜01時47分14秒INFO state.StateStoreCoordinatorRef:登録StateStoreCoordinatorは、エンドポイント
URIの倹約とメタストアに接続しようとすると:// CDH-Hadoopの-16 19/11/20 INFO午後1時47分15秒のhive.metastoreを: 9083 
19/11/20夜01時47分15秒INFOのhive.metastoreは:メタストアへの接続をオープンし、現在の接続:1
19/11/20夜1時47分15秒INFOのhive.metastore:メタストアに接続されています。
19/11/20夜1時47分15秒はcommand.SetCommandをWARN:「SETはhive.exec.dynamic.partition.mode =厳格での仕事ではないかもしれないが、スパークが動的ハイブ設定を変更することはできませんので、。スパークアプリケーションの起動時に(例えばspark.hadoop.hive.exec.dynamic.partition.mode)プレフィックスspark.hadoopを追加することにより、ハイブ固有の設定を渡してください。詳細については、リンクを参照してください。https://spark.apache.org/docs/latest/configuration.html#dynamically-loading-spark-propertiesを

开始执行:
上書きテーブルINSERT dwd_mem_2b_applet_filter_task_detail 
MEMBER_IDとしてt1.IDを選択し、
       t2.LeaguerID leaguer_id、など
       member_employee_id、などt9.member_employee_id 
       member_store_idとしてt2.ShopID、
       member_avatarとしてt1.Avatar 
            is_open_cardsとして他0端、 
       、MEMBER_NAMEとしてt1.RealName 
       、member_phoneとしてt1.Phone
       member_birthdayとしてt1.Birthday 
       outbound_employee_idとしてt12.outbound_employee_id、
       outbound_member_phoneとしてt12.outbound_member_phone、
       outbound_timeとしてt12.outbound_time、
       baby_idなどt4.baby_id 
       baby_avatarとしてt4.baby_avatar、
       baby_nameとしてt4.baby_name、
       baby_genderとしてt4.baby_gender、
       T4。 baby_ageとしてbaby_age 
       baby_birthdayとしてt4.baby_birthday、
       register_2_nowadaysとしてt1.register_2_nowadays、
       register_channelとしてt10.register_channel、
       ケースt3.first_card_open_date次いで1 NULLでない
       first_card_open_dateとしてt3.first_card_open_date 
       card_coupon_days_leftとしてt11.card_coupon_days_left、
       card_idとしてt2.LeaguerCode、
       consume_frequency_dateCardなどt15.consume_frequency_dateCard 
       consume_frequency_no_dateCardとしてt16.consume_frequency_no_dateCard 
       card_expire_dateなどt5.card_expire_date 
       total_rechargeとしてt6.total_recharge、
       total_consume_coinとしてt7.total_consume_coin、
       last_consume_dateとしてt8.last_consume_date、
       last_consume_2_nowadaysとしてt8.last_consume_2_nowadays、
       T5。 card_times_left card_times_left、など
       card_coin_leftとしてt2.card_coin_left、
       card_days_leftとしてt5.card_days_left、
       t6.last_recharge_2_nowadays last_recharge_2_nowadaysとして、 
       t2.card_coin_left / t13.card_coin_left left_coin_ratioとして、
       t5.card_times_left / t14.card_times_left left_times_ratioなど
から
    選択ID、
           アバター、
           本名、
           電話、
           SUBSTR(TO_DATE(誕生日)、 -誕生日など5,5) 、
           register_2_nowadaysとしてDATEDIFF(CURRENT_DATE、TO_DATE(CREATETIME)) -注册距今天数
    ods_cuihua_dqmly_dy_sp_leaguerBaseから
    DSは= '20191119' 
)t1が
参加左
    LeaguerIDとしてp1.IDを選択し、 -门店会员编码(系统自动生成ID)
           P1 .LeaguerBaseId、 -会员编码
           p1.ShopID、 
           p3.LeaguerCode 、 -会员卡号
           p2.card_coin_left -币剩余数量
    からods_cuihua_dqmly_dy_sp_Leaguer P1が
    参加左
          LeaguerId_p2、AS SELECT IDを
                 card_coin_leftとしてNVL(SUM(CoinBal1)+ SUM(GiveCoinBal1)+ SUM(GiveBCoinBal1)、0) -币剩余数量
          からods_cuihua_dqmly_dy_sp_Leaguer 
          DS = '20191119' 
          IDによってグループ
    )P2 
    p1.ID = p2.LeaguerId_p2には
    参加左
          LeaguerId_p3としてLeaguerIdを選択
                 LeaguerCode 
          ods_cuihua_dqmly_dy_sp_LeaguerCardから
          DS = '20191119' 
    )P3
    p1.ID = p3.LeaguerId_p3に
   ここp1.ds = '20191119' 
)T2 
t1.ID = t2.LeaguerBaseIdには
参加左
    LeaguerBaseId_t3としてp1.LeaguerBaseIdを選択
           首次开卡时间- first_card_open_dateとして分(p2.CreateTime)
    ods_cuihua_dqmly_dy_sp_Leaguer P1から
    参加左
          LeaguerId、選択
                 LeaguerCode、
                 CREATETIMEを
          ods_cuihua_dqmly_dy_sp_LeaguerCardから
          DS = '20191119' 
    、P2)
    p1.ID = p2.LeaguerIdに
    p1.ds = '20191119' 
    p1.LeaguerBaseIdによってグループ
)T3 
t1.ID = t3.LeaguerBaseId_t3には
参加左
    、baby_idとしてIDを選択
           LeaguerBaseId_t4などLeaguerBaseId 
           baby_avatarとしてアバター、
           本名baby_nameなど
           baby_genderとしてセックス、
           baby_ageとしてキャスト(DATEDIFF(CURRENT_DATE、TO_DATE(誕生日))/ 365)10,1(小数として)
           SUBSTR(TO_DATE(誕生)、 - 5,5)baby_birthdayとして
    ods_cuihua_dqmly_dy_sp_leaguerbabyから
    DS = '20191119' 
    とIDがnullでない
    とLeaguerBaseIdがnullでない
)T4 
t1.ID = t4.LeaguerBaseId_t4には
参加左
    LeaguerID_t5としてtc.LeaguerIDを選択し、 
            LeaguerCode_t5としてtc.LeaguerCode、
            卡到期日期- card_expire_dateとしてte.card_expire_time、
            次卡剩余次数- card_times_leftとしてNVL(tf.card_times_left、0)
            card_days_leftとしてNVL(DATEDIFF(TO_DATE(te.card_expire_time)、CURRENT_DATE)、0) -计时卡剩余天数
    から
          LeaguerId、選択
                 LeaguerCode、
                 LeaguerCardIdとしてID 
          ods_cuihua_dqmly_dy_sp_LeaguerCardから
          DS = '20191119' 
      TC)が
      参加左
            LeaguerID_teとしてLeaguerIDを選択 
                   LeaguerCardId_teとしてLeaguerCardId、
                   ReExpireTimeが終了時間ヌルである場合にケース
                        終了時間<= ReExpireTime次いでReExpireTimeの
                   card_expire_timeとして端
            ods_cuihua_dqmly_dy_sp_LeaguerTimeCardから
            DS = '20191119' 
            とLeaguerCardIdがNULLではない
      )TE 
      にtc.LeaguerId = te.LeaguerID_teとtc.LeaguerCardId = te.LeaguerCardId_te 
      内部結合が
            LeaguerID、選択
                   SUM(EnabledNumを)card_times_leftとして
            ods_cuihua_dqmly_dy_sp_LeaguerTimeCardから 
            DS = '20191119'
            及び(CURRENT_TIMESTAMP <終了時間またはCURRENT_TIMESTAMP <ReExpireTime)
            とEnabledNum> 0 
            LeaguerIDによって基 
      )TF 
      te.LeaguerID_te = tf.LeaguerIDに
)T5 
t2.LeaguerID = t5.LeaguerID_t5とt2.LeaguerCode = t5.LeaguerCode_t5がオン
に参加左
    LeaguerID_t6としてLeaguerIDを選択
           和(お金/ 100)total_rechargeとして、 -总充值金额
           DATEDIFF(CURRENT_DATE、TO_DATE(MAX(CREATETIME))last_recharge_2_nowadaysなど) -最后充值时间距今天数
    ods_cuihua_dqmly_dy_sp_setMealSellLog_deltaから
    LeaguerIDがnullでない
    LeaguerIDによってグループ
)T6 
にt2.LeaguerID = T6 .LeaguerID_t6が
参加し、左
  LeaguerID_t7として選択p.LeaguerIDを、 
         NVL(SUM(P total_consume_coinとして.total_consume_coin)、0)
  から
    SELECT、LeaguerID 
           など消費者通貨、為替の贈り物、自分で作成した通貨、為替票、寄付したお金は有効期限が切れ、送金、:コインの消費量の合計数- total_consume_coin AS SUM(coinnum)を
    ods_cuihua_dqmly_dy_sp_playLog_deltaから
    LeaguerIDによってグループ
    連合のすべての
    SELECT LeaguerIDは、
           (SUM total_consume_coin AS SurplusCoin1)
    ods_cuihua_dqmly_dy_sp_LeaguerGiveCoinLog_deltaから
    '真の' IsExpire =とSurplusCoin1> 0 - (IsExpireは:、期限が切れているSurplusCoin1:クレジットの数)が満了する
    ことにより、グループLeaguerIDを
    連合のすべての
    SELECT LeaguerID、
           total_consume_coin AS SUM(UsedValue)   
    LeaguerIDによってグループ
    連合のすべての 
    ods_cuihua_dqmly_dy_sp_giftSellLog_deltaから
    UseValueType = 5場所- (UseValueType = 5 為替贈り物にUsedValueを表し:通貨を消費) 
           total_consume_coin AS SUM(RealCoinNum)  
    LeaguerID SELECT、
           SUM(ABS(CoinNumber1))total_consume_coin AS   
    ods_cuihua_dqmly_dy_sp_setMealSellLog_deltaから
    PayType 7 = - 。(。= PayTypeクレジットによって表されるが、パッケージを購入した7)
    グループLeaguerIDによって
    連合のすべての   
    SELECT FromLeaguer AS LeaguerID、
           SUM(金額)total_consume_coin AS   
    ods_cuihua_dqmly_dy_sp_valueTransferLog_deltaから- (FromLeaguer:転送元ユーザToLeaguer:転送先ユーザ)
    ValueTypeに= 1。
    によってグループFromLeaguer 
    ユニオンすべて
    SELECT LeaguerID、
    ods_cuihua_dqmly_dy_sp_getCoinから- (RealCoinNum:クレジットの実際の数の間)
    WHERE DS = '20、191119' 
    グループLeaguerIDによって
  )P
  p.LeaguerIDはWHERE NULLでない
  p.LeaguerIDによってグループ
)T7 
ON t2.LeaguerID = t7.LeaguerID_t7が
参加左
    SELECT LeaguerID AS LeaguerID_t8、
           最終消費日- last_consume_date、AS MAX(CREATETIMEを)
           DateDiff関数(CURRENT_DATE、TO_DATE(MAX( last_consume_2_nowadaysとしてCREATETIME))) -いくつかの消費者の今日からの最後:テイクコイン消費、タイムカード、消費時間、前回のブラッシング核クーポン
    ods_cuihua_dqmly_dy_sp_playLog_deltaから
    ヌルLeaguerIDされていない
    LeaguerIDによってグループ
)T8 
ON t2.LeaguerID T8 = .LeaguerID_t8が
参加左 
    から
    (の
    LeaguerBaseId_t9としてp1.invite_member_noを選択
           member_employee_idとしてp2.employee_id 
        選択invite_code、
               invite_member_no 
        ods_mengguang_xc_crm_member_db1_member_invite_summaryから
        DS = '20191119' 
        とinvite_codeがnullでない
        とinvite_member_noがnullでない
    )P1 
    内部ジョイン
        invite_code_p2として選択invite_codeを、
               EMPLOYEE_ID 
        ods_mengguang_xc_activity_manage_db_employee_invite_codeから
        ここで、DS = '20191119' 
    )P2 
    p1.invite_code = p2.invite_code_p2上
)T9
t1.ID = t9.LeaguerBaseId_t9に
参加左 
               DATE_CREATED
    、register_channelとして選択channel_infoを
           LeaguerBaseId_t10としてmember_no 
    ods_mengguang_xc_crm_member_db1_member_profileから
    DS = '20191119' 
    とmember_noがnullでない
)T10 
t1.ID = t10.LeaguerBaseId_t10には
参加左
    、LeaguerBaseId_t11としてp1.LeaguerBaseIdを選択し
           た場合p2.draw_limit_day <= 0次いで、DATEDIFF(TO_DATE(P2 .end_date)、CURRENT_DATE)
           他DATEDIFF(DATE_ADD(TO_DATE(p1.date_created)、p2.draw_limit_day)、CURRENT_DATE)card_coupon_days_leftとして端
    から
        選択coupon_id、
               LeaguerBaseIdとしてMEMBER_ID、
        ods_qunshuo_amazingland_campaign_coupon_code_eventから
        ここで、DS = '20191119' 
        とis_delete = 'NO' 
        と( 'WAIT_RECEIVE'、 'WAIT_USE')でcoupon_status 
    )P1 
    内参加
        選択coupon_number、
               END_DATE、
               draw_limit_day 
        ods_qunshuo_amazingland_campaign_couponから
        ここで、DS = '20191119' 
        とis_delete = 'NO' 
        とcoupon_number <> '' 
    )、P2 
    p1.coupon_id = p2.coupon_number上
)T11 
t1.ID = t11.LeaguerBaseId_t11には
参加左
    、outbound_member_idとして選択tb1.custNumを-外呼会员编码、UUID
           outbound_employee_id、などtb1.staffNum -アウトバウンド従業員ID、スタッフIDを必ずしもメンバーは、他の従業員の発信があるかもしれない
           、outbound_member_phoneとしてtb1.custPhone -メンバーは、電話番号発信
           tb2.outbound_timeを
    TB1 ods_lixiang_immccdb_callout_infoから
    参加インナー
        SELECT custNum AS custNum_tb2は、 -会員エンコードする
               最後のアウトバウンド時間- outbound_timeとして)CREATETIME(最大
        ods_lixiang_immccdb_callout_infoから
        DS = '20、191119' 
        挿入されたデータを介して通話した後、[成功、開くには、この制限の必要性-とcall_status = 0 ] 
        custNumによるグループ
    )TB2 
    ON tb1.custNum = tb2.custNum_tb2 
左参加 
    tb1.dsは= '20、191119'を
)T12 
t1.ID = t12.outbound_member_idに 
           consume_frequency_dateCardとしてカウント数(TO_DATE(ta.createTimeを))
    LeaguerID_t13としてLeaguerIDを選択
           card_coin_left 
    dwd_card_coin_left_last_rechargeから
    LeaguerID、card_coin_leftによってグループ
)T13 
t2.LeaguerID = t13.LeaguerID_t13には
参加左
    LeaguerID_14としてLeaguerIDを選択
           card_times_left 
    dwd_card_times_left_last_rechargeから
    LeaguerID、card_times_leftによってグループ
)T14 
t2.LeaguerID = t14.LeaguerID_14に
左参加
    LeaguerID_15としてSELECT ta.LeaguerID、
    ods_cuihua_dqmly_dy_sp_playLog_delta AS TA FROM 
    インナーods_cuihua_dqmly_dy_sp_timeCard ASのTB JOIN 
    ta.TimeCardId = tb.IDオン 
    tb.ds = '20191119' 
    保证是计时卡会员-及びtb.Category IN(2,3)
    とTO_DATE(ta.createtime)> = DATE_SUB(CURRENT_DATE、180)
    とTO_DATE(ta.createtime )<= CURRENT_DATEの
    ta.LeaguerIDによってグループ
)T15 
t2.LeaguerID = t15.LeaguerID_15には
参加左
    LeaguerID_16としてSELECT ta.LeaguerID 
           consume_frequency_no_dateCardとして)カウント(TO_DATE(ta.createTime)
    ods_cuihua_dqmly_dy_sp_playLog_delta AS TA FROM 
    JOIN TB ods_cuihua_dqmly_dy_sp_timeCard AS INNERを
    ONしますta.TimeCardId = tb.ID 
    どこtb.ds = '20191119' 
    とtb.Category NOT IN(2,3) -保证是非计时卡会员 
    とTO_DATE(ta.createtime)> = DATE_SUB(CURRENT_DATE、180)
    そしてTO_DATE(ta.createtime)<= CURRENT_DATEの
    ta.LeaguerIDによってグループ
)T16 
t2.LeaguerID = t16.LeaguerID_16オン; 

19/11/20夜01時47分17秒INFO hive.HiveMetastoreCatalog:表xcdqm_prd.ods_cuihua_dqmly_dy_sp_leaguerbase(推論モード:INFER_AND_SAVE)のための推論、大文字と小文字を区別しスキーマ
19/11/20夜01時47分17秒INFO scheduler.DAGScheduler:最終段階の親:リスト()
19/11/20夜01時47分17秒INFO scheduler.DAGScheduler:行方不明の両親:リスト()
19/11/20夜01時47分17秒INFO spark.SparkContext:DAGScheduler.scalaの放送から作成された放送0: 1039  
19/11/20夜1時47分17秒INFO cluster.YarnScheduler:1つのタスクとタスクセット0.0を追加します
19/11/20 13時47分18秒INFO spark.ExecutorAllocationManager:タスクがバックログされているため、1つの新しいエグゼキュータの要求(新たな所望の合計は1になります)

ビルドに十分なメモリがありませんし、すべてのワーカーノードにテーブルをブロードキャスト:スレッド「放送交換-0」java.lang.OutOfMemoryErrorをの例外。回避策として、あなたは-1 spark.sql.autoBroadcastJoinThresholdを設定することにより、どちらかを無効放送することができるか、高い値にspark.driver.memoryを設定することにより、スパーク・ドライバ・メモリを増やす
	org.apache.spark.sql.execution.exchange.BroadcastExchangeExecで:$$ anonfun $ relationFuture $ 1 $$ anonfun $ $ 1.apply(115 BroadcastExchangeExec.scala)を適用 
	org.apache.sparkで。 sql.execution.exchange.BroadcastExchangeExec $$ anonfun $ relationFuture $ 1.apply(BroadcastExchangeExec.scala:72) 
	でorg.apache.spark.sql.execution.exchange.BroadcastExchangeExec $$ anonfun $ relationFuture $ 1 $$ anonfun $($ 1.applyを適用BroadcastExchangeExec.scala:73)
	:org.apache.spark.sql.execution.SQLExecution $ .withExecutionId(97 SQLExecution.scala)で
	org.apache.spark.sql.execution.exchange.BroadcastExchangeExec $$ anonfun $ relationFuture $ 1.applyで(BroadcastExchangeExec.scala:72 )
	scala.concurrent.impl.Future $ PromiseCompletingRunnable.liftedTree1 $ -1(Future.scala時:24)
	24):scala.concurrent.impl.Future $ PromiseCompletingRunnable.run(Future.scalaで
	java.lang.Thread.run(スレッドで.javaファイル:748)

  

おすすめ

転載: www.cnblogs.com/wooluwalker/p/11902406.html