You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@spark.apache.org by Manjunath Shetty H <ma...@live.com> on 2020/02/27 13:29:07 UTC
Convert each partition of RDD to Dataframe
Hello All,
In spark i am creating the custom partitions with Custom RDD, each partition will have different schema. Now in the transformation step we need to get the schema and run some Dataframe SQL queries per partition, because each partition data has different schema.
How to get the Dataframe's per partition of a RDD?.
As of now i am doing foreachPartition on RDD and converting Iterable<Row> to List and converting that to Dataframe. But the problem is converting Iterable to List will bring all the data to memory and it might crash the process.
Is there any known way to do this ? or is there any way to handle Custom Partitions in Dataframes instead of using RDD ?
I am using Spark version 1.6.2.
Any pointers would be helpful. Thanks in advance
Re: Convert each partition of RDD to Dataframe
Posted by Manjunath Shetty H <ma...@live.com>.
Hi Enrico,
Thanks for the suggestion, i wanted to know if there are any performance implications of running multi-threaded driver ?
If i create multiple Dataframes in parallel, then Spark will schedule those jobs in parallel ?
Thanks
Manjunath
________________________________
From: Enrico Minack <ma...@Enrico.Minack.dev>
Sent: Thursday, February 27, 2020 8:51 PM
To: Manjunath Shetty H <ma...@live.com>; user@spark.apache.org <us...@spark.apache.org>
Subject: Re: Convert each partition of RDD to Dataframe
Manjunath,
You can define your DataFrame in parallel in a multi-threaded driver.
Enrico
Am 27.02.20 um 15:50 schrieb Manjunath Shetty H:
Hi Enrico,
In that case how to make effective use of all nodes in the cluster ?.
And also whats your opinion on the below
* Create 10 Dataframes sequentially in Driver program and transform/write to hdfs one after the other
* Or the current approach mentioned in the previous mail
What will be the performance implications ?
Regards
Manjunath
________________________________
From: Enrico Minack <ma...@Enrico.Minack.dev>
Sent: Thursday, February 27, 2020 7:57 PM
To: user@spark.apache.org<ma...@spark.apache.org> <us...@spark.apache.org>
Subject: Re: Convert each partition of RDD to Dataframe
Hi Manjunath,
why not creating 10 DataFrames loading the different tables in the first place?
Enrico
Am 27.02.20 um 14:53 schrieb Manjunath Shetty H:
Hi Vinodh,
Thanks for the quick response. Didn't got what you meant exactly, any reference or snippet will be helpful.
To explain the problem more,
* I have 10 partitions , each partition loads the data from different table and different SQL shard.
* Most of the partitions will have different schema.
* Before persisting the data i want to do some column level manipulation using data frame.
So thats why i want to create 10 (based on partitions ) dataframes that maps to 10 different table/shard from a RDD.
Regards
Manjunath
________________________________
From: Charles vinodh <mi...@gmail.com>
Sent: Thursday, February 27, 2020 7:04 PM
To: manjunathshetty@live.com<ma...@live.com> <ma...@live.com>
Cc: user <us...@spark.apache.org>
Subject: Re: Convert each partition of RDD to Dataframe
Just split the single rdd into multiple individual rdds using a filter operation and then convert each individual rdds to it's respective dataframe..
On Thu, Feb 27, 2020, 7:29 AM Manjunath Shetty H <ma...@live.com>> wrote:
Hello All,
In spark i am creating the custom partitions with Custom RDD, each partition will have different schema. Now in the transformation step we need to get the schema and run some Dataframe SQL queries per partition, because each partition data has different schema.
How to get the Dataframe's per partition of a RDD?.
As of now i am doing foreachPartition on RDD and converting Iterable<Row> to List and converting that to Dataframe. But the problem is converting Iterable to List will bring all the data to memory and it might crash the process.
Is there any known way to do this ? or is there any way to handle Custom Partitions in Dataframes instead of using RDD ?
I am using Spark version 1.6.2.
Any pointers would be helpful. Thanks in advance
Re: Convert each partition of RDD to Dataframe
Posted by Enrico Minack <ma...@Enrico.Minack.dev>.
Manjunath,
You can define your DataFrame in parallel in a multi-threaded driver.
Enrico
Am 27.02.20 um 15:50 schrieb Manjunath Shetty H:
> Hi Enrico,
>
> In that case how to make effective use of all nodes in the cluster ?.
>
> And also whats your opinion on the below
>
> * Create 10 Dataframes sequentially in Driver program and
> transform/write to hdfs one after the other
> * Or the current approach mentioned in the previous mail
>
> What will be the performance implications ?
>
> Regards
> Manjunath
>
> ------------------------------------------------------------------------
> *From:* Enrico Minack <ma...@Enrico.Minack.dev>
> *Sent:* Thursday, February 27, 2020 7:57 PM
> *To:* user@spark.apache.org <us...@spark.apache.org>
> *Subject:* Re: Convert each partition of RDD to Dataframe
> Hi Manjunath,
>
> why not creating 10 DataFrames loading the different tables in the
> first place?
>
> Enrico
>
>
> Am 27.02.20 um 14:53 schrieb Manjunath Shetty H:
>> Hi Vinodh,
>>
>> Thanks for the quick response. Didn't got what you meant exactly, any
>> reference or snippet will be helpful.
>>
>> To explain the problem more,
>>
>> * I have 10 partitions , each partition loads the data from
>> different table and different SQL shard.
>> * Most of the partitions will have different schema.
>> * Before persisting the data i want to do some column level
>> manipulation using data frame.
>>
>> So thats why i want to create 10 (based on partitions ) dataframes
>> that maps to 10 different table/shard from a RDD.
>>
>> Regards
>> Manjunath
>> ------------------------------------------------------------------------
>> *From:* Charles vinodh <mi...@gmail.com>
>> <ma...@gmail.com>
>> *Sent:* Thursday, February 27, 2020 7:04 PM
>> *To:* manjunathshetty@live.com <ma...@live.com>
>> <ma...@live.com> <ma...@live.com>
>> *Cc:* user <us...@spark.apache.org> <ma...@spark.apache.org>
>> *Subject:* Re: Convert each partition of RDD to Dataframe
>> Just split the single rdd into multiple individual rdds using a
>> filter operation and then convert each individual rdds to it's
>> respective dataframe..
>>
>> On Thu, Feb 27, 2020, 7:29 AM Manjunath Shetty H
>> <manjunathshetty@live.com <ma...@live.com>> wrote:
>>
>>
>> Hello All,
>>
>> In spark i am creating the custom partitions with Custom RDD,
>> each partition will have different schema. Now in the
>> transformation step we need to get the schema and run some
>> Dataframe SQL queries per partition, because each partition data
>> has different schema.
>>
>> How to get the Dataframe's per partition of a RDD?.
>>
>> As of now i am doing|foreachPartition|on RDD and
>> converting|Iterable<Row>|to|List|and converting that to
>> Dataframe. But the problem is converting|Iterable|to|List|will
>> bring all the data to memory and it might crash the process.
>>
>> Is there any known way to do this ? or is there any way to handle
>> Custom Partitions in|Dataframes|instead of using|RDD|?
>>
>> I am using Spark version|1.6.2|.
>>
>> Any pointers would be helpful. Thanks in advance
>>
>>
>
Re: Convert each partition of RDD to Dataframe
Posted by prosp4300 <pr...@163.com>.
Looks no obvious relationship between the partition or tables, maybe try make them in different jobs, so they could run at same time to fully make use of the cluster resource.
| |
prosp4300
邮箱:prosp4300@163.com
|
Signature is customized by Netease Mail Master
On 02/27/2020 22:50, Manjunath Shetty H wrote:
Hi Enrico,
In that case how to make effective use of all nodes in the cluster ?.
And also whats your opinion on the below
Create 10 Dataframes sequentially in Driver program and transform/write to hdfs one after the other
Or the current approach mentioned in the previous mail
What will be the performance implications ?
Regards
Manjunath
From: Enrico Minack <ma...@Enrico.Minack.dev>
Sent: Thursday, February 27, 2020 7:57 PM
To:user@spark.apache.org <us...@spark.apache.org>
Subject: Re: Convert each partition of RDD to Dataframe
Hi Manjunath,
why not creating 10 DataFrames loading the different tables in the first place?
Enrico
Am 27.02.20 um 14:53 schrieb Manjunath Shetty H:
Hi Vinodh,
Thanks for the quick response. Didn't got what you meant exactly, any reference or snippet will be helpful.
To explain the problem more,
I have 10 partitions , each partition loads the data from different table and different SQL shard.
Most of the partitions will have different schema.
Before persisting the data i want to do some column level manipulation using data frame.
So thats why i want to create 10 (based on partitions ) dataframes that maps to 10 different table/shard from a RDD.
Regards
Manjunath
From: Charles vinodh <mi...@gmail.com>
Sent: Thursday, February 27, 2020 7:04 PM
To: manjunathshetty@live.com <ma...@live.com>
Cc: user <us...@spark.apache.org>
Subject: Re: Convert each partition of RDD to Dataframe
Just split the single rdd into multiple individual rdds using a filter operation and then convert each individual rdds to it's respective dataframe..
On Thu, Feb 27, 2020, 7:29 AM Manjunath Shetty H <ma...@live.com> wrote:
Hello All,
In spark i am creating the custom partitions with Custom RDD, each partition will have different schema. Now in the transformation step we need to get the schema and run some Dataframe SQL queries per partition, because each partition data has different schema.
How to get the Dataframe's per partition of a RDD?.
As of now i am doing foreachPartition on RDD and converting Iterable<Row> to List and converting that to Dataframe. But the problem is converting Iterable to List will bring all the data to memory and it might crash the process.
Is there any known way to do this ? or is there any way to handle Custom Partitions in Dataframes instead of using RDD ?
I am using Spark version 1.6.2.
Any pointers would be helpful. Thanks in advance
Re: Convert each partition of RDD to Dataframe
Posted by Manjunath Shetty H <ma...@live.com>.
Hi Enrico,
In that case how to make effective use of all nodes in the cluster ?.
And also whats your opinion on the below
* Create 10 Dataframes sequentially in Driver program and transform/write to hdfs one after the other
* Or the current approach mentioned in the previous mail
What will be the performance implications ?
Regards
Manjunath
________________________________
From: Enrico Minack <ma...@Enrico.Minack.dev>
Sent: Thursday, February 27, 2020 7:57 PM
To: user@spark.apache.org <us...@spark.apache.org>
Subject: Re: Convert each partition of RDD to Dataframe
Hi Manjunath,
why not creating 10 DataFrames loading the different tables in the first place?
Enrico
Am 27.02.20 um 14:53 schrieb Manjunath Shetty H:
Hi Vinodh,
Thanks for the quick response. Didn't got what you meant exactly, any reference or snippet will be helpful.
To explain the problem more,
* I have 10 partitions , each partition loads the data from different table and different SQL shard.
* Most of the partitions will have different schema.
* Before persisting the data i want to do some column level manipulation using data frame.
So thats why i want to create 10 (based on partitions ) dataframes that maps to 10 different table/shard from a RDD.
Regards
Manjunath
________________________________
From: Charles vinodh <mi...@gmail.com>
Sent: Thursday, February 27, 2020 7:04 PM
To: manjunathshetty@live.com<ma...@live.com> <ma...@live.com>
Cc: user <us...@spark.apache.org>
Subject: Re: Convert each partition of RDD to Dataframe
Just split the single rdd into multiple individual rdds using a filter operation and then convert each individual rdds to it's respective dataframe..
On Thu, Feb 27, 2020, 7:29 AM Manjunath Shetty H <ma...@live.com>> wrote:
Hello All,
In spark i am creating the custom partitions with Custom RDD, each partition will have different schema. Now in the transformation step we need to get the schema and run some Dataframe SQL queries per partition, because each partition data has different schema.
How to get the Dataframe's per partition of a RDD?.
As of now i am doing foreachPartition on RDD and converting Iterable<Row> to List and converting that to Dataframe. But the problem is converting Iterable to List will bring all the data to memory and it might crash the process.
Is there any known way to do this ? or is there any way to handle Custom Partitions in Dataframes instead of using RDD ?
I am using Spark version 1.6.2.
Any pointers would be helpful. Thanks in advance
Re: Convert each partition of RDD to Dataframe
Posted by Enrico Minack <ma...@Enrico.Minack.dev>.
Hi Manjunath,
why not creating 10 DataFrames loading the different tables in the first
place?
Enrico
Am 27.02.20 um 14:53 schrieb Manjunath Shetty H:
> Hi Vinodh,
>
> Thanks for the quick response. Didn't got what you meant exactly, any
> reference or snippet will be helpful.
>
> To explain the problem more,
>
> * I have 10 partitions , each partition loads the data from
> different table and different SQL shard.
> * Most of the partitions will have different schema.
> * Before persisting the data i want to do some column level
> manipulation using data frame.
>
> So thats why i want to create 10 (based on partitions ) dataframes
> that maps to 10 different table/shard from a RDD.
>
> Regards
> Manjunath
> ------------------------------------------------------------------------
> *From:* Charles vinodh <mi...@gmail.com>
> *Sent:* Thursday, February 27, 2020 7:04 PM
> *To:* manjunathshetty@live.com <ma...@live.com>
> *Cc:* user <us...@spark.apache.org>
> *Subject:* Re: Convert each partition of RDD to Dataframe
> Just split the single rdd into multiple individual rdds using a filter
> operation and then convert each individual rdds to it's respective
> dataframe..
>
> On Thu, Feb 27, 2020, 7:29 AM Manjunath Shetty H
> <manjunathshetty@live.com <ma...@live.com>> wrote:
>
>
> Hello All,
>
> In spark i am creating the custom partitions with Custom RDD, each
> partition will have different schema. Now in the transformation
> step we need to get the schema and run some Dataframe SQL queries
> per partition, because each partition data has different schema.
>
> How to get the Dataframe's per partition of a RDD?.
>
> As of now i am doing|foreachPartition|on RDD and
> converting|Iterable<Row>|to|List|and converting that to Dataframe.
> But the problem is converting|Iterable|to|List|will bring all the
> data to memory and it might crash the process.
>
> Is there any known way to do this ? or is there any way to handle
> Custom Partitions in|Dataframes|instead of using|RDD|?
>
> I am using Spark version|1.6.2|.
>
> Any pointers would be helpful. Thanks in advance
>
>
Re: Convert each partition of RDD to Dataframe
Posted by Manjunath Shetty H <ma...@live.com>.
Hi Vinodh,
Thanks for the quick response. Didn't got what you meant exactly, any reference or snippet will be helpful.
To explain the problem more,
* I have 10 partitions , each partition loads the data from different table and different SQL shard.
* Most of the partitions will have different schema.
* Before persisting the data i want to do some column level manipulation using data frame.
So thats why i want to create 10 (based on partitions ) dataframes that maps to 10 different table/shard from a RDD.
Regards
Manjunath
________________________________
From: Charles vinodh <mi...@gmail.com>
Sent: Thursday, February 27, 2020 7:04 PM
To: manjunathshetty@live.com <ma...@live.com>
Cc: user <us...@spark.apache.org>
Subject: Re: Convert each partition of RDD to Dataframe
Just split the single rdd into multiple individual rdds using a filter operation and then convert each individual rdds to it's respective dataframe..
On Thu, Feb 27, 2020, 7:29 AM Manjunath Shetty H <ma...@live.com>> wrote:
Hello All,
In spark i am creating the custom partitions with Custom RDD, each partition will have different schema. Now in the transformation step we need to get the schema and run some Dataframe SQL queries per partition, because each partition data has different schema.
How to get the Dataframe's per partition of a RDD?.
As of now i am doing foreachPartition on RDD and converting Iterable<Row> to List and converting that to Dataframe. But the problem is converting Iterable to List will bring all the data to memory and it might crash the process.
Is there any known way to do this ? or is there any way to handle Custom Partitions in Dataframes instead of using RDD ?
I am using Spark version 1.6.2.
Any pointers would be helpful. Thanks in advance
Re: Convert each partition of RDD to Dataframe
Posted by Charles vinodh <mi...@gmail.com>.
Just split the single rdd into multiple individual rdds using a filter
operation and then convert each individual rdds to it's respective
dataframe..
On Thu, Feb 27, 2020, 7:29 AM Manjunath Shetty H <ma...@live.com>
wrote:
>
> Hello All,
>
> In spark i am creating the custom partitions with Custom RDD, each
> partition will have different schema. Now in the transformation step we
> need to get the schema and run some Dataframe SQL queries per partition,
> because each partition data has different schema.
>
> How to get the Dataframe's per partition of a RDD?.
>
> As of now i am doing foreachPartition on RDD and converting Iterable<Row>
> to List and converting that to Dataframe. But the problem is converting
> Iterable to List will bring all the data to memory and it might crash the
> process.
>
> Is there any known way to do this ? or is there any way to handle Custom
> Partitions in Dataframes instead of using RDD ?
>
> I am using Spark version 1.6.2.
>
> Any pointers would be helpful. Thanks in advance
>
>