A computer implemented method for data partitioning in an internet-of-things network, the computer implemented method comprising: determining, by a processor, a number of plurality of computing nodes in the internet-of-things network capable of contributing in processing of a data set at a given instant, wherein the internet-of-things network comprises heterogeneous computing nodes connected to a data analytics system 102 over one or more communication links, and the one or more communication links are wired or wireless communication channels; ascertaining, by the processor, at least one capacity parameter associated with each of the plurality of computing nodes in the internet-of-things network and with each of the one or more communication links between each of the plurality of computing nodes and the data analytics system, wherein the at least one capacity parameter is indicative of a computational capacity for each of the plurality of computing nodes and a communication capacity for each of the one or more communication links; determining, by the processor, an availability status of each of the plurality of computing nodes and each of the one or more communication links, wherein the availability status is indicative of temporal availability of each of the plurality of computing nodes and each of the one or more communication links, and wherein the plurality of computing nodes are dynamically available intermittently for assisting in computational functions of the data analytics system 102; and partitioning, by the processor, the data set into subsets, based on the number of the plurality of computing nodes, the capacity parameter associated with each of the plurality of computing nodes and each of the one or more communication links, and the availability status of each of the plurality of computing nodes and each of the one or more communication links, for parallel processing of the subsets. determining, by a processor, a number of plurality of computing nodes in the internet-of-things network capable of contributing in processing of a data set at a given instant, wherein the internet-of-things network comprises heterogeneous computing nodes connected to a data analytics system 102 over one or more communication links, and the one or more communication links are wired or wireless communication channels; ascertaining, by the processor, at least one capacity parameter associated with each of the plurality of computing nodes in the internet-of-things network and with each of the one or more communication links between each of the plurality of computing nodes and the data analytics system, wherein the at least one capacity parameter is indicative of a computational capacity for each of the plurality of computing nodes and a communication capacity for each of the one or more communication links; determining, by the processor, an availability status of each of the plurality of computing nodes and each of the one or more communication links, wherein the availability status is indicative of temporal availability of each of the plurality of computing nodes and each of the one or more communication links, and wherein the plurality of computing nodes are dynamically available intermittently for assisting in computational functions of the data analytics system 102; and partitioning, by the processor, the data set into subsets, based on the number of the plurality of computing nodes, the capacity parameter associated with each of the plurality of computing nodes and each of the one or more communication links, and the availability status of each of the plurality of computing nodes and each of the one or more communication links, for parallel processing of the subsets.