专家,我是Nifi初学者,试图了解2个处理器之间的区别。ExecuteSQL和ExecuteSQLRecord(从V1.8开始)。以后是否提供其他东西,而ExecuteSQL没有?我已经看到的一件事是ExecuteSQL不包含“状态”。想知道ExecuteSQLRecord是否可以处理它?
谢谢
专家们,我有一个简单的要求,但无法找到实现目标的功能。
我正在使用 pyspark (spark 1.6 和 Python 2.7)并有一个简单的 pyspark 数据框列,其中包含某些值,例如-
1849adb0-gfhe6543-bduyre763ryi-hjdsgf87qwefdb-78a9f4811265_ABC
1849adb0-rdty4545y4-657u5h556-zsdcafdqwddqdas-78a9f4811265_1234
1849adb0-89o8iulk89o89-89876h5-432rebm787rrer-78a9f4811265_12345678
Run Code Online (Sandbox Code Playgroud)
这些值的共同点是有一个“下划线”,之后有某些字符(可以是任意数量的字符)。这些是我有兴趣在输出中获得的字符。我想使用子字符串或正则表达式函数,它将找到列值中“下划线”的位置,并选择“从下划线位置+1”直到列值的末尾。因此输出看起来像一个数据框,其值为-
ABC
1234
12345678
Run Code Online (Sandbox Code Playgroud)
我尝试使用子字符串,但可以找到任何内容来“索引”“下划线”
谢谢!
专家们,我注意到生产中的 Pyspark 作业之一(在 YARN 集群模式下运行)有一件奇怪的事情。执行大约一个小时 +(大约 65-75 分钟)后,它就会消失,而不会抛出任何特定的错误消息。我们已经分析了大约 2 周的 YARN 日志,其中没有特别的错误,它只是在执行 ETL 操作(读/写 hive 表、执行简单映射、修剪、lambda 操作等)时在中间死亡,没有任何错误要指出的特定代码段。有时重新运行可以修复它,有时需要多次重新运行。代码已优化, spark-submit --conf 具有所有正确优化的选项。正如我们之前提到的,它对于大约 30 种其他具有非常好的性能统计数据的应用程序来说绝对是完美的。这些是我们所有的选择——
spark-submit --conf spark.yarn.maxAppAttempts=1 --conf spark.sql.broadcastTimeout=36000 --conf spark.dynamicAllocation.executorIdleTimeout=1800 --conf spark.dynamicAllocation.minExecutors=8 --conf spark.dynamicAllocation.initialExecutors=8 --conf spark.dynamicAllocation.maxExecutors=32 --conf spark.yarn.executor.memoryOverhead=4096 --conf spark.kryoserializer.buffer.max=512m --driver-memory 2G --executor-memory 8G --executor-cores 2 --deploy-mode cluster --master yarn
Run Code Online (Sandbox Code Playgroud)
我们想检查是否需要更改某些驱动器配置来解决此问题?或者在 Spark Cluster 模式下有一些可以增加的自动超时?我们在 Python 2.7 中使用 Spark 1.6
错误看起来像(有几条消息说 -
ERROR executor.CoarseGrainedExecutorBackend: RECEIVED SIGNAL 15: SIGTERM
Run Code Online (Sandbox Code Playgroud)
但是当它遇到驱动程序错误时它会失败(最终发生)-
ERROR executor.CoarseGrainedExecutorBackend: Driver XX.XXX.XXX.XXX:XXXXX disassociated! Shutting down
Run Code Online (Sandbox Code Playgroud)
这是日志-
19/10/24 16:17:03 INFO compress.CodecPool: Got …Run Code Online (Sandbox Code Playgroud)