I want to carry out a join of a large Spark dataframe with a comparatively small dataframe












0















I am joining a Spark dataframe with 23 Million records with a dataframe having 0.5 Million records. The Broadcast join doesn't seem feasible as the smaller table won't fit into the memory to be distributed over all workers. Whenever I carry out the join, Spark halts at the shuffle task and doesn't continue. How should I go on with the join?










share|improve this question























  • How many partitions do you have for your data? How long did you wait (as in an hour or so)? Just want to make sure it really halts and it's not just really slow :)

    – Frank
    Nov 22 '18 at 10:56











  • @Frank - The bigger dataframe had 400 partitions and the smaller one has 40 partitions. I waited for 2 hours or more but after that it threw an error that "Not able to write rows" and RemoteException. The error was that the data was not able to be written to datanodes.

    – Anand Nautiyal
    Nov 22 '18 at 12:43











  • @Frank - Can Repartitioning help with this case ?

    – Anand Nautiyal
    Nov 23 '18 at 4:34











  • How many CPU cores do you have where you execute your Spark program on? Also see stackoverflow.com/questions/35800795/… and spark.apache.org/docs/latest/tuning.html on this.

    – Frank
    Nov 23 '18 at 19:00
















0















I am joining a Spark dataframe with 23 Million records with a dataframe having 0.5 Million records. The Broadcast join doesn't seem feasible as the smaller table won't fit into the memory to be distributed over all workers. Whenever I carry out the join, Spark halts at the shuffle task and doesn't continue. How should I go on with the join?










share|improve this question























  • How many partitions do you have for your data? How long did you wait (as in an hour or so)? Just want to make sure it really halts and it's not just really slow :)

    – Frank
    Nov 22 '18 at 10:56











  • @Frank - The bigger dataframe had 400 partitions and the smaller one has 40 partitions. I waited for 2 hours or more but after that it threw an error that "Not able to write rows" and RemoteException. The error was that the data was not able to be written to datanodes.

    – Anand Nautiyal
    Nov 22 '18 at 12:43











  • @Frank - Can Repartitioning help with this case ?

    – Anand Nautiyal
    Nov 23 '18 at 4:34











  • How many CPU cores do you have where you execute your Spark program on? Also see stackoverflow.com/questions/35800795/… and spark.apache.org/docs/latest/tuning.html on this.

    – Frank
    Nov 23 '18 at 19:00














0












0








0








I am joining a Spark dataframe with 23 Million records with a dataframe having 0.5 Million records. The Broadcast join doesn't seem feasible as the smaller table won't fit into the memory to be distributed over all workers. Whenever I carry out the join, Spark halts at the shuffle task and doesn't continue. How should I go on with the join?










share|improve this question














I am joining a Spark dataframe with 23 Million records with a dataframe having 0.5 Million records. The Broadcast join doesn't seem feasible as the smaller table won't fit into the memory to be distributed over all workers. Whenever I carry out the join, Spark halts at the shuffle task and doesn't continue. How should I go on with the join?







apache-spark apache-spark-sql left-join apache-spark-2.1






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 22 '18 at 9:39









Anand NautiyalAnand Nautiyal

316




316













  • How many partitions do you have for your data? How long did you wait (as in an hour or so)? Just want to make sure it really halts and it's not just really slow :)

    – Frank
    Nov 22 '18 at 10:56











  • @Frank - The bigger dataframe had 400 partitions and the smaller one has 40 partitions. I waited for 2 hours or more but after that it threw an error that "Not able to write rows" and RemoteException. The error was that the data was not able to be written to datanodes.

    – Anand Nautiyal
    Nov 22 '18 at 12:43











  • @Frank - Can Repartitioning help with this case ?

    – Anand Nautiyal
    Nov 23 '18 at 4:34











  • How many CPU cores do you have where you execute your Spark program on? Also see stackoverflow.com/questions/35800795/… and spark.apache.org/docs/latest/tuning.html on this.

    – Frank
    Nov 23 '18 at 19:00



















  • How many partitions do you have for your data? How long did you wait (as in an hour or so)? Just want to make sure it really halts and it's not just really slow :)

    – Frank
    Nov 22 '18 at 10:56











  • @Frank - The bigger dataframe had 400 partitions and the smaller one has 40 partitions. I waited for 2 hours or more but after that it threw an error that "Not able to write rows" and RemoteException. The error was that the data was not able to be written to datanodes.

    – Anand Nautiyal
    Nov 22 '18 at 12:43











  • @Frank - Can Repartitioning help with this case ?

    – Anand Nautiyal
    Nov 23 '18 at 4:34











  • How many CPU cores do you have where you execute your Spark program on? Also see stackoverflow.com/questions/35800795/… and spark.apache.org/docs/latest/tuning.html on this.

    – Frank
    Nov 23 '18 at 19:00

















How many partitions do you have for your data? How long did you wait (as in an hour or so)? Just want to make sure it really halts and it's not just really slow :)

– Frank
Nov 22 '18 at 10:56





How many partitions do you have for your data? How long did you wait (as in an hour or so)? Just want to make sure it really halts and it's not just really slow :)

– Frank
Nov 22 '18 at 10:56













@Frank - The bigger dataframe had 400 partitions and the smaller one has 40 partitions. I waited for 2 hours or more but after that it threw an error that "Not able to write rows" and RemoteException. The error was that the data was not able to be written to datanodes.

– Anand Nautiyal
Nov 22 '18 at 12:43





@Frank - The bigger dataframe had 400 partitions and the smaller one has 40 partitions. I waited for 2 hours or more but after that it threw an error that "Not able to write rows" and RemoteException. The error was that the data was not able to be written to datanodes.

– Anand Nautiyal
Nov 22 '18 at 12:43













@Frank - Can Repartitioning help with this case ?

– Anand Nautiyal
Nov 23 '18 at 4:34





@Frank - Can Repartitioning help with this case ?

– Anand Nautiyal
Nov 23 '18 at 4:34













How many CPU cores do you have where you execute your Spark program on? Also see stackoverflow.com/questions/35800795/… and spark.apache.org/docs/latest/tuning.html on this.

– Frank
Nov 23 '18 at 19:00





How many CPU cores do you have where you execute your Spark program on? Also see stackoverflow.com/questions/35800795/… and spark.apache.org/docs/latest/tuning.html on this.

– Frank
Nov 23 '18 at 19:00












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53427887%2fi-want-to-carry-out-a-join-of-a-large-spark-dataframe-with-a-comparatively-small%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53427887%2fi-want-to-carry-out-a-join-of-a-large-spark-dataframe-with-a-comparatively-small%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Can a sorcerer learn a 5th-level spell early by creating spell slots using the Font of Magic feature?

ts Property 'filter' does not exist on type '{}'

mat-slide-toggle shouldn't change it's state when I click cancel in confirmation window