programing

스파크 데이터 프레임에서 전체 열 내용을 표시하는 방법은 무엇입니까?

powerit 2023. 10. 20. 14:51
반응형

스파크 데이터 프레임에서 전체 열 내용을 표시하는 방법은 무엇입니까?

저는 데이터 프레임에 데이터를 로드하기 위해 spark-csv를 사용하고 있습니다.간단한 쿼리를 수행하여 내용을 표시하고자 합니다.

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()

콜이 잘린 것 같습니다.

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:...|
+--------------------+

칼럼의 전체 내용을 어떻게 표시해야 합니까?

results.show(20, false)자르지 않습니다.출처확인

20는 다음과 같은 경우 표시되는 기본 행 개수입니다.show()가 인수 없이 호출됩니다.

넣으면.results.show(false), 결과가 잘리지 않습니다.

아래 코드는 각 열에서 잘라내지 않고 모든 행을 보는 데 도움이 됩니다.

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

다른 해결책들은 좋습니다.다음과 같은 목표가 있을 경우:

  1. 열을 잘라내지 않음,
  2. 행의 손실이 없습니다.
  3. 패스트 앤
  4. 능률적인

이 두 줄은 유용합니다...

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

지속성을 통해 카운트 및 표시되는 두 개의 실행자 작업을 사용할 때 더 빠르고 효율적입니다.persist아니면cache실행자 내의 중간 기본 데이터 프레임 구조를 유지합니다.지속성캐시에 대한 자세한 내용을 참조하십시오.

results.show(20, False)아니면results.show(20, false)Java/Scala/Python에서 실행하는지 여부에 따라 달라집니다.

Pyspark에서 사용할 수 있습니다.

df.show(truncate= false) 열의 전체 내용을 잘라내지 않고 표시합니다.

df.show(5,truncate=false) 처음 5개 행의 전체 내용이 표시됩니다.

다음 답변은 스파크 스트리밍 애플리케이션에 적용됩니다.

"truncate" 옵션을 false로 설정하면 출력 싱크에 전체 열을 표시하도록 지시할 수 있습니다.

val query = out.writeStream
          .outputMode(OutputMode.Update())
          .format("console")
          .option("truncate", false)
          .trigger(Trigger.ProcessingTime("5 seconds"))
          .start()

Spark Pythonic 방식으로 다음을 기억합니다.

  • 데이터 프레임에서 데이터를 표시해야 한다면,show(truncate=False)방법.
  • Stream dataframe 뷰(Structured Streaming)에서 데이터를 표시해야 하는 경우에는writeStream.format("console").option("truncate", False).start()methods with option.

누군가에게 도움이 되길 바랍니다.

Databricks 내에서 데이터 프레임을 표 형식으로 시각화할 수 있습니다.다음 명령을 사용합니다.

display(results)

다음과 같이 보일 것입니다.

enter image description here

주식회사#Option("truncate", false)출력에서 데이터를 잘라내지 않습니다.

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

시도 df.show(20,False)

표시할 행의 수를 지정하지 않으면 20개의 행이 표시되지만 시간이 더 걸리는 모든 데이터 프레임을 실행할 수 있습니다.

다음 명령을 시도해 보십시오.

df.show(df.count())

results.show(false)전체 열 내용을 보여 줍니다.

기본적으로 메서드를 20으로 제한하고 앞에 숫자를 추가합니다.false행이 더 표시됩니다.

results.show(20,false)스칼라에서 나를 위해 속임수를 썼답니다.

pyspark에서 이것을 시도했습니다.

df.show(truncate=0)

PYSPYSPARK

아래 코드에서,df는 데이터 프레임의 이름입니다.첫 번째 매개 변수는 숫자 값을 하드코딩하는 것이 아니라 데이터 프레임의 모든 행을 동적으로 표시하는 것입니다.두 번째 매개 변수는 다음과 같이 값이 설정되어 있으므로 전체 열 내용 표시를 담당합니다.False.

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

enter image description here


스칼라

아래 코드에서,df는 데이터 프레임의 이름입니다.첫 번째 매개 변수는 숫자 값을 하드코딩하는 것이 아니라 데이터 프레임의 모든 행을 동적으로 표시하는 것입니다.두 번째 매개 변수는 다음과 같이 값이 설정되어 있으므로 전체 열 내용 표시를 담당합니다.false.

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

enter image description here

스칼라로 사용해 보십시오.

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

show 메서드는 정수와 부울 값을 사용하지만 df.count는 Long...을 반환합니다.그래서 타입 캐스팅이 필요합니다.

언급URL : https://stackoverflow.com/questions/33742895/how-to-show-full-column-content-in-a-spark-dataframe

반응형