un pyspark.sql.DataFrame
s'affiche en désordre avec DataFrame.show()
- des lignes envelopper au lieu d'un défilement.
mais s'affiche avec pandas.DataFrame.head
J'ai essayé ces options
import IPython
IPython.auto_scroll_threshold = 9999
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
from IPython.display import display
mais pas de chance. Bien que le défilement fonctionne lorsqu'il est utilisé dans l'éditeur Atom avec le plugin jupyter:
c'est une solution de contournement
spark_df.limit(5).toPandas().head()
bien que je ne connaisse pas la charge de calcul de cette requête. Je pense que limit()
n'est pas cher. corrections bienvenues.
J'ai créé ci-dessous la fonction li'l et cela fonctionne très bien:
def printDf(sprkDF):
newdf = sprkDF.toPandas()
from IPython.display import display, HTML
return HTML(newdf.to_html())
vous pouvez l'utiliser directement sur vos requêtes spark si vous le souhaitez, ou sur n'importe quelle trame de données spark:
printDf(spark.sql('''
select * from employee
'''))