Bir Spark Veri Çerçevesinde tam sütun içeriği nasıl gösterilir?


204

Bir DataFrame veri yüklemek için spark-csv kullanıyorum. Basit bir sorgu yapmak ve içeriği görüntülemek istiyorum:

val df = sqlContext.read.format("com.databricks.spark.csv").option("header", "true").load("my.csv")
df.registerTempTable("tasks")
results = sqlContext.sql("select col from tasks");
results.show()

Col kesilmiş görünüyor:

scala> results.show();
+--------------------+
|                 col|
+--------------------+
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-06 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:21:...|
|2015-11-16 07:21:...|
|2015-11-16 07:21:...|
+--------------------+

Sütunun tam içeriğini nasıl gösterebilirim?

Yanıtlar:


379

results.show(20, false)kesilmez. Kaynağı kontrol et


4
@tracer Sorununuzu çözdüğü takdirde cevabımı kabul edip etmeyeceğinizi takdir edersiniz. Teşekkürler!
TomTom101

3
OP değil ama bu gerçekten doğru cevap: Küçük düzeltme, boole yanlış olmalı, yanlış değil.
xv70


4
kabuğunda yanlış (yanlış değil)
Luca Gibelli

6
konsol modunda akışa yazmak için eşdeğerdataFrame.writeStream.outputMode("append").format("console").option("truncate", "false").start()
JMess

39

Eğer koyarsanız results.show(false), sonuçlar kesilmez


2
Bunu hayal TomTom101 cevabı üzerine açıklama hakkında falseda burada geçerlidir.
Mogsdad

1
@Narendra Parmar sözdizimi olmalı results.show(20, False). Bahsettiğiniz kişi hata verecektir.
Jai Prakash

@ Jai Prakash, ben scala için bu cevabı verdim ve python hakkında konuşuyorsun,
Narendra Parmar

@ NarendraParmar haklısın. Her scalaiki seçenekte de geçerlidir. results.show(false)veresults.show(20, false)
Jai Prakash

17

Diğer çözümler iyi. Hedefleriniz bunlarsa:

  1. Sütunların kesilmesi yok,
  2. Satır kaybı yok,
  3. Hızlı ve
  4. Verimli

Bu iki çizgi faydalı ...

    df.persist
    df.show(df.count, false) // in Scala or 'False' in Python

Devam ederek , sayma ve gösterme olan iki yürütücü eylemi, yürütücülerdeki geçici veri çerçevesi yapısını kullanırken persistveya cachesürdürürken daha hızlı ve daha verimlidir . Kalıcılık ve önbellek hakkında daha fazla bilgi edinin .


1
Çok hoş. Teşekkürler!
timbram

15

Aşağıdaki kod, her sütunda kesilmeden tüm satırların görüntülenmesine yardımcı olacaktır

df.show(df.count(), False)

aynı arayışta önceki cevaba sordum: bu dfiki kez toplanmasına neden oluyor mu?
javadba

@javadba evet, bence count () bir kez df'den geçecek ve show () iki kez df toplayacak.
MoeChen

10

results.show(20, False)veya results.show(20, false) Java / Scala / Python üzerinde çalıştırıp çalıştırmadığınıza bağlı olarak


3

results.show(false) size tam sütun içeriğini gösterecektir.

Yöntemi varsayılan olarak 20 ile falsegöster ve daha önce bir sayı eklenmesi daha fazla satır gösterecektir.


2

şu komutu deneyin:

df.show(df.count())

1
Bunu deneyin: df.show (bazı no) çalışır ancak df.show (df.count ()) çalışmaz df.count tamsayı türünü kabul ettiği için df.show () tarafından kabul edilmeyen uzun bir çıktı türü verir.
Thota Kranthi Kumar

Örnek kullanım df.show (2000). 2000 satır alacak
Thota Kranthi Kumar

2
bu dfiki kez toplanmasına neden oluyor mu?
javadba

2

results.show(20,false) Scala'da benim için hile yaptı.




0

Bunu scala'da deneyin:

df.show(df.count.toInt, false)

Show yöntemi bir tamsayıyı ve bir Boole değerini kabul eder, ancak df.count Uzun döndürür ... bu nedenle tür dökümü gerekir


0

C # Option("truncate", false)'da çıktıdaki verileri kısaltmaz.

StreamingQuery query = spark
                    .Sql("SELECT * FROM Messages")
                    .WriteStream()
                    .OutputMode("append")
                    .Format("console")
                    .Option("truncate", false)
                    .Start();

0

Aşağıdaki cevap bir Spark Streaming uygulaması için geçerlidir.

"Kes" seçeneğini false olarak ayarlayarak, çıkış havuzunun tam sütunu görüntülemesini isteyebilirsiniz.

val query = out.writeStream
          .outputMode(OutputMode.Update())
          .format("console")
          .option("truncate", false)
          .trigger(Trigger.ProcessingTime("5 seconds"))
          .start()
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.