Skip to content

Commit 012f404

Browse files
author
Ghislain Fourny
committed
Wrap df.
1 parent 37b29c0 commit 012f404

2 files changed

Lines changed: 8 additions & 3 deletions

File tree

src/jsoniq/sequence.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
from pyspark import RDD
22
from pyspark.sql import SparkSession
3+
from pyspark.sql import DataFrame
34
import json
45

56
class SequenceOfItems:
6-
def __init__(self, sequence, sparkcontext):
7+
def __init__(self, sequence, sparksession):
78
self._jsequence = sequence
8-
self._sparkcontext = sparkcontext
9+
self._sparkcontext = sparksession.sparkContext
10+
self._sparksession = sparksession
911

1012
def json(self):
1113
return [json.loads(l.serializeAsJSON()) for l in self._jsequence.items()]
@@ -15,6 +17,9 @@ def rdd(self):
1517
rdd = RDD(rdd, self._sparkcontext)
1618
return rdd.map(lambda l: json.loads(l))
1719

20+
def df(self):
21+
return DataFrame(self._jsequence.getAsDataFrame(), self._sparksession)
22+
1823
def nextJSON(self):
1924
return self._jsequence.next().serializeAsJSON()
2025

src/jsoniq/session.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ def bindDataFrameAsVariable(self, name: str, df):
140140

141141
def jsoniq(self, str):
142142
sequence = self._jrumblesession.runQuery(str);
143-
return SequenceOfItems(sequence, self._sparksession.sparkContext);
143+
return SequenceOfItems(sequence, self._sparksession);
144144

145145
def __getattr__(self, item):
146146
return getattr(self._sparksession, item)

0 commit comments

Comments
 (0)