Spark がエラーを報告する: 64 KB を超える

(著者: 陳 玉嵩データマスター)

Spark スクリプトの実行中にエラーが発生しました:

2020-06-24 16:59:53,246 [Thread-44] ERROR 
org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator 
- failed to compile: 
org.codehaus.janino.InternalCompilerException: 
Compiling "GeneratedClass": Code of method "processNext()V" of class 
"org.apache.spark.sql.catalyst.expressions.
GeneratedClass$GeneratedIteratorForCodegenStage2" grows beyond 64 KB

しかし、奇妙なことに、エラーは報告されているにもかかわらず、結果はまだ実行中であるということです。

SQL で as を使用しており、合計 3 つの SQL フラグメントが含まれており、正規表現と中国語がたくさんあるため、コンパイル時に SQL が長すぎてエラーが発生するため、このエラーは単なる警告であるはずです実行計画が長すぎて、触媒の実行計画が一般的な量を超えているため、このエラーが発生します。私の理解では、これはアラームのようなもので、結果の生成には影響しません。

つまり、あまり長い SQL を書くために with as を使用しないでください (笑)、トラブルシューティングの際には不便です。SQL が短く書かれ、複数の書き込みに分割された場合でも、機能は同じですが、このアラームは存在しません。

おすすめ

転載: blog.csdn.net/weixin_39750084/article/details/107525530