我是一个火花/纱线新手,当我在纱线集群上提交火花作业时,遇到exitCode = 13.当火花作业在本地模式下运行时,一切都很好.
我使用的命令是:
/usr/hdp/current/spark-client/bin/spark-submit --class com.test.sparkTest --master yarn --deploy-mode cluster --num-executors 40 --executor-cores 4 --driver-memory 17g --executor-memory 22g --files /usr/hdp/current/spark-client/conf/hive-site.xml /home/user/sparkTest.jar*
Run Code Online (Sandbox Code Playgroud)
火花错误日志:
16/04/12 17:59:30 INFO Client:
client token: N/A
diagnostics: Application application_1459460037715_23007 failed 2 times due to AM Container for appattempt_1459460037715_23007_000002 exited with exitCode: 13
For more detailed output, check application tracking page:http://b-r06f2-prod.phx2.cpe.net:8088/cluster/app/application_1459460037715_23007Then, click on links to logs of each attempt.
Diagnostics: Exception from container-launch.
Container id: container_e40_1459460037715_23007_02_000001
Exit code: 13
Stack trace: ExitCodeException exitCode=13:
at org.apache.hadoop.util.Shell.runCommand(Shell.java:576)
at org.apache.hadoop.util.Shell.run(Shell.java:487) …Run Code Online (Sandbox Code Playgroud) 我是一个火花新手,并使用Spark SQL/hiveContext有一个简单的spark应用程序:
我提交作业在纱线集群(100个执行器)上运行它,它很慢,当我在Spark UI中查看DAG可视化时,似乎只有hive表扫描任务并行运行,其余步骤#2和#以上3只在一个实例中运行,可能应该能够优化并行化?
该应用程序看起来像:
步骤1:
val input = hiveContext
.sql(
SELECT
user_id
, address
, age
, phone_number
, first_name
, last_name
, server_ts
FROM
(
SELECT
user_id
, address
, age
, phone_number
, first_name
, last_name
, server_ts
, row_number() over
(partition by user_id, address, phone_number, first_name, last_name order by user_id, address, phone_number, first_name, last_name, server_ts desc, age) AS rn
FROM
(
SELECT
user_id
, address
, age
, phone_number …Run Code Online (Sandbox Code Playgroud) sql parallel-processing hadoop-yarn apache-spark apache-spark-sql
Keras和DL新手在这里.我想构建一个模型来训练顺序文本数据以进行分类.数据看起来像:
id,文字,标签
1,tom.hasLunch,0
2,jerry.drinkWater,1
我用python3.5和keras 2(TF作为后端)构建它.模型摘要如下:
训练数据大小约为30GB.参数的数量并不多,因为我将功能的嵌入层数从300减少到100,而我只为每行/ ID选择前1000个字.在AWS EC2 p2.8xlarge实例上运行后,我发现了
低易失性gpu-util但高GPU内存使用率GPU-Util通常约为30%ish且不超过50%,我希望能更好地利用GPU,以便加速训练.1个时代现在需要大约6-7个小时.

考虑到实例/机器的强大程度,CPU和内存使用率也非常低.看起来只有python3线程正在运行,但它确实通过htop显示多个线程,但仍然是非常低的CPU利用率.

您能否建议更好地利用GPU,CPU和内存的方法?
另一个问题是顺序文本数据主要是骆驼模式,例如"tom.hasLunch","jerry.drinkWater"等.
如果以[tom,has,lunch],[jerry,drink,water]的形式分割单词比[tom,haslunch],[jerry,drinkwater]更好吗?后者不会将单词分成细粒度,这可能类似于为每个标记化的单词指定数字/ id,如1表示haslunch,2表示drinkwater.
更新,到目前为止它经历了6个时代,似乎它开始在第5纪元之后过度拟合并且似乎时代3获得了最佳模型/性能,后续问题是为什么验证准确性优于训练准确性?大概通常是另一种方式?
大纪元1/10
损失:0.2445 - acc:0.8944 - val_loss:0.1646 - val_acc:0.9318
大纪元2/10
损失:0.1870 - acc:0.9232 - val_loss:0.1450 - val_acc:0.9408
大纪元3/10
损失:0.1675 - acc:0.9326 - val_loss:0.1728 - val_acc:0.9238
大纪元4/10
损失:0.2060 - acc:0.9116 - val_loss:0.1550 - val_acc:0.9337
大纪元5/10
损失:0.1676 - acc:0.9320 - val_loss:0.1268 - val_acc:0.9499
大纪元6/10
损失:0.4216 - acc:0.7999 - val_loss:0.4375 - val_acc:0.7981