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.