Re: [Spark Optimization] Why is one node getting all the pressure?

2018-06-12 Thread Srinath C
Hi Akash,

Glad to know that repartition helped!

The overall tasks actually depends on the kind of operations you are
performing and also on how the DF is partitioned.
I can't comment on the former but can provide some pointers on the latter.

Default value of spark.sql.shuffle.partitions is 200. There will be 200
partitions of the DF or RDD after a shuffle.
This implies that there will be 200 tasks required for each stage on that
DF.
You can check this in the "Storage tab" of the Spark UI while the
application is running.

Try setting "--conf spark.sql.shuffle.partitions=N" while submitting the
application.
Try different values of N (start with N=no of total executor cores) and see
how it goes.
If you hit upon an OOM try increasing the value.

Hope it helps.
Regards,
Srinath.



On Tue, Jun 12, 2018 at 6:13 PM Aakash Basu 
wrote:

> Hi Srinath,
>
> Thanks for such an elaborate reply. How to reduce the number of overall
> tasks?
>
> I found, after simply repartitioning the csv file into 8 parts and
> converting it to parquet with snappy compression, helped not only in even
> distribution of the tasks on all nodes, but also helped in bringing the end
> to end job timing down to approx 0.8X of the prior run.
>
> Query - Check if there are too many partitions in the RDD and tune it
> using spark.sql.shuffle.partitions. How to do this? Because I have a huge
> pipeline of memory and CPU intensive operations, which will ideally have
> innumerable spark transformations. At which level should I apply the same?
> My total tasks of an average dataset is going to around 2 millions
> (approx), is it a bad show? How can I control? Do I need to re-factor my
> entire Pipeline (series of codes) then?
>
> Below is the new executors show while the updated run is taking place -
>
>
>
>
> Thanks,
> Aakash.
>
> On Tue, Jun 12, 2018 at 2:14 PM, Srinath C  wrote:
>
>> Hi Aakash,
>>
>> Can you check the logs for Executor ID 0? It was restarted on worker
>> 192.168.49.39 perhaps due to OOM or something.
>>
>> Also observed that the number of tasks are high and unevenly distributed
>> across the workers.
>> Check if there are too many partitions in the RDD and tune it using
>> spark.sql.shuffle.partitions.
>> If the uneven distribution is still occurring then try repartitioning the
>> data set using appropriate fields.
>>
>> Hope that helps.
>> Regards,
>> Srinath.
>>
>>
>> On Tue, Jun 12, 2018 at 1:39 PM Aakash Basu 
>> wrote:
>>
>>> Yes, but when I did increase my executor memory, the spark job is going
>>> to halt after running a few steps, even though, the executor isn't dying.
>>>
>>> Data - 60,000 data-points, 230 columns (60 MB data).
>>>
>>> Any input on why it behaves like that?
>>>
>>> On Tue, Jun 12, 2018 at 8:15 AM, Vamshi Talla 
>>> wrote:
>>>
 Aakash,

 Like Jorn suggested, did you increase your test data set? If so, did
 you also update your executor-memory setting? It seems like you might
 exceeding the executor memory threshold.

 Thanks
 Vamshi Talla

 Sent from my iPhone

 On Jun 11, 2018, at 8:54 AM, Aakash Basu 
 wrote:

 Hi Jorn/Others,

 Thanks for your help. Now, data is being distributed in a proper way,
 but the challenge is, after a certain point, I'm getting this error, after
 which, everything stops moving ahead -

 2018-06-11 18:14:56 ERROR TaskSchedulerImpl:70 - Lost executor 0 on
 192.168.49.39
 :
 Remote RPC client disassociated. Likely due to containers exceeding
 thresholds, or network issues. Check driver logs for WARN messages.

 

 How to avoid this scenario?

 Thanks,
 Aakash.

 On Mon, Jun 11, 2018 at 4:16 PM, Jörn Franke 
 wrote:

> If it is in kB then spark will always schedule it to one node. As soon
> as it gets bigger you will see usage of more nodes.
>
> Hence increase your testing Dataset .
>
> On 11. Jun 2018, at 12:22, Aakash Basu 
> wrote:
>
> Jorn - The code is a series of feature engineering and model tuning
> operations. Too big to show. Yes, data volume is too low, it is in KBs,
> just tried to experiment with a small dataset before going for a large 
> one.
>
> Akshay - I ran with your suggested spark configurations, I get this
> (the node changed, but the problem persists) -
>
> 
>
>
>
> On Mon, Jun 11, 2018 at 3:16 PM, akshay naidu  > wrote:
>
>> try
>>  --num-executors 3 --executor-cores 4 --executor-memory 2G --conf
>> spark.scheduler.mode=FAIR
>>
>> On Mon, Jun 11, 2018 at 2:43 PM, Aakash Basu <
>> aakash.spark@gmail.com> wrote:
>>
>>> Hi,
>>>
>>> I have 

Re: [Spark Optimization] Why is one node getting all the pressure?

2018-06-12 Thread Aakash Basu
Hi Srinath,

Thanks for such an elaborate reply. How to reduce the number of overall
tasks?

I found, after simply repartitioning the csv file into 8 parts and
converting it to parquet with snappy compression, helped not only in even
distribution of the tasks on all nodes, but also helped in bringing the end
to end job timing down to approx 0.8X of the prior run.

Query - Check if there are too many partitions in the RDD and tune it using
spark.sql.shuffle.partitions. How to do this? Because I have a huge
pipeline of memory and CPU intensive operations, which will ideally have
innumerable spark transformations. At which level should I apply the same?
My total tasks of an average dataset is going to around 2 millions
(approx), is it a bad show? How can I control? Do I need to re-factor my
entire Pipeline (series of codes) then?

Below is the new executors show while the updated run is taking place -




Thanks,
Aakash.

On Tue, Jun 12, 2018 at 2:14 PM, Srinath C  wrote:

> Hi Aakash,
>
> Can you check the logs for Executor ID 0? It was restarted on worker
> 192.168.49.39 perhaps due to OOM or something.
>
> Also observed that the number of tasks are high and unevenly distributed
> across the workers.
> Check if there are too many partitions in the RDD and tune it using
> spark.sql.shuffle.partitions.
> If the uneven distribution is still occurring then try repartitioning the
> data set using appropriate fields.
>
> Hope that helps.
> Regards,
> Srinath.
>
>
> On Tue, Jun 12, 2018 at 1:39 PM Aakash Basu 
> wrote:
>
>> Yes, but when I did increase my executor memory, the spark job is going
>> to halt after running a few steps, even though, the executor isn't dying.
>>
>> Data - 60,000 data-points, 230 columns (60 MB data).
>>
>> Any input on why it behaves like that?
>>
>> On Tue, Jun 12, 2018 at 8:15 AM, Vamshi Talla 
>> wrote:
>>
>>> Aakash,
>>>
>>> Like Jorn suggested, did you increase your test data set? If so, did you
>>> also update your executor-memory setting? It seems like you might exceeding
>>> the executor memory threshold.
>>>
>>> Thanks
>>> Vamshi Talla
>>>
>>> Sent from my iPhone
>>>
>>> On Jun 11, 2018, at 8:54 AM, Aakash Basu 
>>> wrote:
>>>
>>> Hi Jorn/Others,
>>>
>>> Thanks for your help. Now, data is being distributed in a proper way,
>>> but the challenge is, after a certain point, I'm getting this error, after
>>> which, everything stops moving ahead -
>>>
>>> 2018-06-11 18:14:56 ERROR TaskSchedulerImpl:70 - Lost executor 0 on
>>> 192.168.49.39
>>> :
>>> Remote RPC client disassociated. Likely due to containers exceeding
>>> thresholds, or network issues. Check driver logs for WARN messages.
>>>
>>> 
>>>
>>> How to avoid this scenario?
>>>
>>> Thanks,
>>> Aakash.
>>>
>>> On Mon, Jun 11, 2018 at 4:16 PM, Jörn Franke 
>>> wrote:
>>>
 If it is in kB then spark will always schedule it to one node. As soon
 as it gets bigger you will see usage of more nodes.

 Hence increase your testing Dataset .

 On 11. Jun 2018, at 12:22, Aakash Basu 
 wrote:

 Jorn - The code is a series of feature engineering and model tuning
 operations. Too big to show. Yes, data volume is too low, it is in KBs,
 just tried to experiment with a small dataset before going for a large one.

 Akshay - I ran with your suggested spark configurations, I get this
 (the node changed, but the problem persists) -

 



 On Mon, Jun 11, 2018 at 3:16 PM, akshay naidu 
 wrote:

> try
>  --num-executors 3 --executor-cores 4 --executor-memory 2G --conf
> spark.scheduler.mode=FAIR
>
> On Mon, Jun 11, 2018 at 2:43 PM, Aakash Basu <
> aakash.spark@gmail.com> wrote:
>
>> Hi,
>>
>> I have submitted a job on* 4 node cluster*, where I see, most of the
>> operations happening at one of the worker nodes and other two are simply
>> chilling out.
>>
>> Picture below puts light on that -
>>
>> How to properly distribute the load?
>>
>> My cluster conf (4 node cluster [1 driver; 3 slaves]) -
>>
>> *Cores - 6*
>> *RAM - 12 GB*
>> *HDD - 60 GB*
>>
>> My Spark Submit command is as follows -
>>
>> *spark-submit --master spark://192.168.49.37:7077
>> 
>> --num-executors 3 --executor-cores 5 --executor-memory 4G
>> /appdata/bblite-codebase/prima_diabetes_indians.py*
>>
>> What to do?
>>
>> Thanks,
>> Aakash.
>>
>
>

>>>
>>


Re: [Spark Optimization] Why is one node getting all the pressure?

2018-06-12 Thread Srinath C
Hi Aakash,

Can you check the logs for Executor ID 0? It was restarted on worker
192.168.49.39 perhaps due to OOM or something.

Also observed that the number of tasks are high and unevenly distributed
across the workers.
Check if there are too many partitions in the RDD and tune it using
spark.sql.shuffle.partitions.
If the uneven distribution is still occurring then try repartitioning the
data set using appropriate fields.

Hope that helps.
Regards,
Srinath.


On Tue, Jun 12, 2018 at 1:39 PM Aakash Basu 
wrote:

> Yes, but when I did increase my executor memory, the spark job is going to
> halt after running a few steps, even though, the executor isn't dying.
>
> Data - 60,000 data-points, 230 columns (60 MB data).
>
> Any input on why it behaves like that?
>
> On Tue, Jun 12, 2018 at 8:15 AM, Vamshi Talla 
> wrote:
>
>> Aakash,
>>
>> Like Jorn suggested, did you increase your test data set? If so, did you
>> also update your executor-memory setting? It seems like you might exceeding
>> the executor memory threshold.
>>
>> Thanks
>> Vamshi Talla
>>
>> Sent from my iPhone
>>
>> On Jun 11, 2018, at 8:54 AM, Aakash Basu 
>> wrote:
>>
>> Hi Jorn/Others,
>>
>> Thanks for your help. Now, data is being distributed in a proper way, but
>> the challenge is, after a certain point, I'm getting this error, after
>> which, everything stops moving ahead -
>>
>> 2018-06-11 18:14:56 ERROR TaskSchedulerImpl:70 - Lost executor 0 on
>> 192.168.49.39
>> :
>> Remote RPC client disassociated. Likely due to containers exceeding
>> thresholds, or network issues. Check driver logs for WARN messages.
>>
>> 
>>
>> How to avoid this scenario?
>>
>> Thanks,
>> Aakash.
>>
>> On Mon, Jun 11, 2018 at 4:16 PM, Jörn Franke 
>> wrote:
>>
>>> If it is in kB then spark will always schedule it to one node. As soon
>>> as it gets bigger you will see usage of more nodes.
>>>
>>> Hence increase your testing Dataset .
>>>
>>> On 11. Jun 2018, at 12:22, Aakash Basu 
>>> wrote:
>>>
>>> Jorn - The code is a series of feature engineering and model tuning
>>> operations. Too big to show. Yes, data volume is too low, it is in KBs,
>>> just tried to experiment with a small dataset before going for a large one.
>>>
>>> Akshay - I ran with your suggested spark configurations, I get this (the
>>> node changed, but the problem persists) -
>>>
>>> 
>>>
>>>
>>>
>>> On Mon, Jun 11, 2018 at 3:16 PM, akshay naidu 
>>> wrote:
>>>
 try
  --num-executors 3 --executor-cores 4 --executor-memory 2G --conf
 spark.scheduler.mode=FAIR

 On Mon, Jun 11, 2018 at 2:43 PM, Aakash Basu <
 aakash.spark@gmail.com> wrote:

> Hi,
>
> I have submitted a job on* 4 node cluster*, where I see, most of the
> operations happening at one of the worker nodes and other two are simply
> chilling out.
>
> Picture below puts light on that -
>
> How to properly distribute the load?
>
> My cluster conf (4 node cluster [1 driver; 3 slaves]) -
>
> *Cores - 6*
> *RAM - 12 GB*
> *HDD - 60 GB*
>
> My Spark Submit command is as follows -
>
> *spark-submit --master spark://192.168.49.37:7077
> 
> --num-executors 3 --executor-cores 5 --executor-memory 4G
> /appdata/bblite-codebase/prima_diabetes_indians.py*
>
> What to do?
>
> Thanks,
> Aakash.
>


>>>
>>
>


Re: [Spark Optimization] Why is one node getting all the pressure?

2018-06-12 Thread Aakash Basu
Yes, but when I did increase my executor memory, the spark job is going to
halt after running a few steps, even though, the executor isn't dying.

Data - 60,000 data-points, 230 columns (60 MB data).

Any input on why it behaves like that?

On Tue, Jun 12, 2018 at 8:15 AM, Vamshi Talla  wrote:

> Aakash,
>
> Like Jorn suggested, did you increase your test data set? If so, did you
> also update your executor-memory setting? It seems like you might exceeding
> the executor memory threshold.
>
> Thanks
> Vamshi Talla
>
> Sent from my iPhone
>
> On Jun 11, 2018, at 8:54 AM, Aakash Basu 
> wrote:
>
> Hi Jorn/Others,
>
> Thanks for your help. Now, data is being distributed in a proper way, but
> the challenge is, after a certain point, I'm getting this error, after
> which, everything stops moving ahead -
>
> 2018-06-11 18:14:56 ERROR TaskSchedulerImpl:70 - Lost executor 0 on
> 192.168.49.39
> :
> Remote RPC client disassociated. Likely due to containers exceeding
> thresholds, or network issues. Check driver logs for WARN messages.
>
> 
>
> How to avoid this scenario?
>
> Thanks,
> Aakash.
>
> On Mon, Jun 11, 2018 at 4:16 PM, Jörn Franke  wrote:
>
>> If it is in kB then spark will always schedule it to one node. As soon as
>> it gets bigger you will see usage of more nodes.
>>
>> Hence increase your testing Dataset .
>>
>> On 11. Jun 2018, at 12:22, Aakash Basu 
>> wrote:
>>
>> Jorn - The code is a series of feature engineering and model tuning
>> operations. Too big to show. Yes, data volume is too low, it is in KBs,
>> just tried to experiment with a small dataset before going for a large one.
>>
>> Akshay - I ran with your suggested spark configurations, I get this (the
>> node changed, but the problem persists) -
>>
>> 
>>
>>
>>
>> On Mon, Jun 11, 2018 at 3:16 PM, akshay naidu 
>> wrote:
>>
>>> try
>>>  --num-executors 3 --executor-cores 4 --executor-memory 2G --conf
>>> spark.scheduler.mode=FAIR
>>>
>>> On Mon, Jun 11, 2018 at 2:43 PM, Aakash Basu >> > wrote:
>>>
 Hi,

 I have submitted a job on* 4 node cluster*, where I see, most of the
 operations happening at one of the worker nodes and other two are simply
 chilling out.

 Picture below puts light on that -

 How to properly distribute the load?

 My cluster conf (4 node cluster [1 driver; 3 slaves]) -

 *Cores - 6*
 *RAM - 12 GB*
 *HDD - 60 GB*

 My Spark Submit command is as follows -

 *spark-submit --master spark://192.168.49.37:7077
 
 --num-executors 3 --executor-cores 5 --executor-memory 4G
 /appdata/bblite-codebase/prima_diabetes_indians.py*

 What to do?

 Thanks,
 Aakash.

>>>
>>>
>>
>


Re: [Spark Optimization] Why is one node getting all the pressure?

2018-06-11 Thread Vamshi Talla
Aakash,

Like Jorn suggested, did you increase your test data set? If so, did you also 
update your executor-memory setting? It seems like you might exceeding the 
executor memory threshold.

Thanks
Vamshi Talla

Sent from my iPhone

On Jun 11, 2018, at 8:54 AM, Aakash Basu 
mailto:aakash.spark@gmail.com>> wrote:

Hi Jorn/Others,

Thanks for your help. Now, data is being distributed in a proper way, but the 
challenge is, after a certain point, I'm getting this error, after which, 
everything stops moving ahead -

2018-06-11 18:14:56 ERROR TaskSchedulerImpl:70 - Lost executor 0 on 
192.168.49.39:
 Remote RPC client disassociated. Likely due to containers exceeding 
thresholds, or network issues. Check driver logs for WARN messages.



How to avoid this scenario?

Thanks,
Aakash.

On Mon, Jun 11, 2018 at 4:16 PM, Jörn Franke 
mailto:jornfra...@gmail.com>> wrote:
If it is in kB then spark will always schedule it to one node. As soon as it 
gets bigger you will see usage of more nodes.

Hence increase your testing Dataset .

On 11. Jun 2018, at 12:22, Aakash Basu 
mailto:aakash.spark@gmail.com>> wrote:

Jorn - The code is a series of feature engineering and model tuning operations. 
Too big to show. Yes, data volume is too low, it is in KBs, just tried to 
experiment with a small dataset before going for a large one.

Akshay - I ran with your suggested spark configurations, I get this (the node 
changed, but the problem persists) -





On Mon, Jun 11, 2018 at 3:16 PM, akshay naidu 
mailto:akshaynaid...@gmail.com>> wrote:
try
 --num-executors 3 --executor-cores 4 --executor-memory 2G --conf 
spark.scheduler.mode=FAIR

On Mon, Jun 11, 2018 at 2:43 PM, Aakash Basu 
mailto:aakash.spark@gmail.com>> wrote:
Hi,

I have submitted a job on 4 node cluster, where I see, most of the operations 
happening at one of the worker nodes and other two are simply chilling out.

Picture below puts light on that -
[cid:]
How to properly distribute the load?

My cluster conf (4 node cluster [1 driver; 3 slaves]) -

Cores - 6
RAM - 12 GB
HDD - 60 GB

My Spark Submit command is as follows -

spark-submit --master 
spark://192.168.49.37:7077
 --num-executors 3 --executor-cores 5 --executor-memory 4G 
/appdata/bblite-codebase/prima_diabetes_indians.py

What to do?

Thanks,
Aakash.





Re: [Spark Optimization] Why is one node getting all the pressure?

2018-06-11 Thread Aakash Basu
Hi Jorn/Others,

Thanks for your help. Now, data is being distributed in a proper way, but
the challenge is, after a certain point, I'm getting this error, after
which, everything stops moving ahead -

2018-06-11 18:14:56 ERROR TaskSchedulerImpl:70 - Lost executor 0 on
192.168.49.39: Remote RPC client disassociated. Likely due to containers
exceeding thresholds, or network issues. Check driver logs for WARN
messages.



How to avoid this scenario?

Thanks,
Aakash.

On Mon, Jun 11, 2018 at 4:16 PM, Jörn Franke  wrote:

> If it is in kB then spark will always schedule it to one node. As soon as
> it gets bigger you will see usage of more nodes.
>
> Hence increase your testing Dataset .
>
> On 11. Jun 2018, at 12:22, Aakash Basu  wrote:
>
> Jorn - The code is a series of feature engineering and model tuning
> operations. Too big to show. Yes, data volume is too low, it is in KBs,
> just tried to experiment with a small dataset before going for a large one.
>
> Akshay - I ran with your suggested spark configurations, I get this (the
> node changed, but the problem persists) -
>
> 
>
>
>
> On Mon, Jun 11, 2018 at 3:16 PM, akshay naidu 
> wrote:
>
>> try
>>  --num-executors 3 --executor-cores 4 --executor-memory 2G --conf
>> spark.scheduler.mode=FAIR
>>
>> On Mon, Jun 11, 2018 at 2:43 PM, Aakash Basu 
>> wrote:
>>
>>> Hi,
>>>
>>> I have submitted a job on* 4 node cluster*, where I see, most of the
>>> operations happening at one of the worker nodes and other two are simply
>>> chilling out.
>>>
>>> Picture below puts light on that -
>>>
>>> How to properly distribute the load?
>>>
>>> My cluster conf (4 node cluster [1 driver; 3 slaves]) -
>>>
>>> *Cores - 6*
>>> *RAM - 12 GB*
>>> *HDD - 60 GB*
>>>
>>> My Spark Submit command is as follows -
>>>
>>> *spark-submit --master spark://192.168.49.37:7077
>>>  --num-executors 3 --executor-cores 5
>>> --executor-memory 4G /appdata/bblite-codebase/prima_diabetes_indians.py*
>>>
>>> What to do?
>>>
>>> Thanks,
>>> Aakash.
>>>
>>
>>
>


Re: [Spark Optimization] Why is one node getting all the pressure?

2018-06-11 Thread Jörn Franke
If it is in kB then spark will always schedule it to one node. As soon as it 
gets bigger you will see usage of more nodes.

Hence increase your testing Dataset .

> On 11. Jun 2018, at 12:22, Aakash Basu  wrote:
> 
> Jorn - The code is a series of feature engineering and model tuning 
> operations. Too big to show. Yes, data volume is too low, it is in KBs, just 
> tried to experiment with a small dataset before going for a large one.
> 
> Akshay - I ran with your suggested spark configurations, I get this (the node 
> changed, but the problem persists) -
> 
> 
> 
> 
> 
>> On Mon, Jun 11, 2018 at 3:16 PM, akshay naidu  
>> wrote:
>> try
>>  --num-executors 3 --executor-cores 4 --executor-memory 2G --conf 
>> spark.scheduler.mode=FAIR
>> 
>>> On Mon, Jun 11, 2018 at 2:43 PM, Aakash Basu  
>>> wrote:
>>> Hi,
>>> 
>>> I have submitted a job on 4 node cluster, where I see, most of the 
>>> operations happening at one of the worker nodes and other two are simply 
>>> chilling out.
>>> 
>>> Picture below puts light on that -
>>> 
>>> How to properly distribute the load?
>>> 
>>> My cluster conf (4 node cluster [1 driver; 3 slaves]) -
>>> 
>>> Cores - 6
>>> RAM - 12 GB
>>> HDD - 60 GB
>>> 
>>> My Spark Submit command is as follows -
>>> 
>>> spark-submit --master spark://192.168.49.37:7077 --num-executors 3 
>>> --executor-cores 5 --executor-memory 4G 
>>> /appdata/bblite-codebase/prima_diabetes_indians.py
>>> 
>>> What to do?
>>> 
>>> Thanks,
>>> Aakash.
>> 
> 


Re: [Spark Optimization] Why is one node getting all the pressure?

2018-06-11 Thread akshay naidu
try
 --num-executors 3 --executor-cores 4 --executor-memory 2G --conf
spark.scheduler.mode=FAIR

On Mon, Jun 11, 2018 at 2:43 PM, Aakash Basu 
wrote:

> Hi,
>
> I have submitted a job on* 4 node cluster*, where I see, most of the
> operations happening at one of the worker nodes and other two are simply
> chilling out.
>
> Picture below puts light on that -
>
> How to properly distribute the load?
>
> My cluster conf (4 node cluster [1 driver; 3 slaves]) -
>
> *Cores - 6*
> *RAM - 12 GB*
> *HDD - 60 GB*
>
> My Spark Submit command is as follows -
>
> *spark-submit --master spark://192.168.49.37:7077
>  --num-executors 3 --executor-cores 5
> --executor-memory 4G /appdata/bblite-codebase/prima_diabetes_indians.py*
>
> What to do?
>
> Thanks,
> Aakash.
>


Re: [Spark Optimization] Why is one node getting all the pressure?

2018-06-11 Thread Jörn Franke
What is your code ? Maybe this one does an operation which is bound to a single 
host or your data volume is too small for multiple hosts.

> On 11. Jun 2018, at 11:13, Aakash Basu  wrote:
> 
> Hi,
> 
> I have submitted a job on 4 node cluster, where I see, most of the operations 
> happening at one of the worker nodes and other two are simply chilling out.
> 
> Picture below puts light on that -
> 
> How to properly distribute the load?
> 
> My cluster conf (4 node cluster [1 driver; 3 slaves]) -
> 
> Cores - 6
> RAM - 12 GB
> HDD - 60 GB
> 
> My Spark Submit command is as follows -
> 
> spark-submit --master spark://192.168.49.37:7077 --num-executors 3 
> --executor-cores 5 --executor-memory 4G 
> /appdata/bblite-codebase/prima_diabetes_indians.py
> 
> What to do?
> 
> Thanks,
> Aakash.