স্পার্ক ডেটাফ্রেমে কীভাবে পূর্ণ কলামের সামগ্রী প্রদর্শিত হবে?


201

আমি একটি ডেটা ফ্রেমে ডেটা লোড করতে স্পার্ক-সিএসভি ব্যবহার করছি। আমি একটি সাধারণ জিজ্ঞাসা করতে এবং সামগ্রীটি প্রদর্শন করতে চাই:

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

আমি কীভাবে কলামটির সম্পূর্ণ সামগ্রী দেখাব?

উত্তর:


372

results.show(20, false)কাটা হবে না। উত্স পরীক্ষা করুন


4
@ ট্র্যাকার আপনার সমস্যার সমাধান করলে আপনি যদি আমার উত্তরটি গ্রহণ করেন তবে প্রশংসা করবেন Would ধন্যবাদ!
টমটম 101

3
ওপি নয় তবে এটি সত্যই সঠিক উত্তর: গৌণ সংশোধন, বুলিয়ান মিথ্যা হওয়া উচিত, মিথ্যা নয়।
xv70


4
স্পার্ক-শেলের মধ্যে এটি মিথ্যা (মিথ্যা নয়)
লুকা গিবেলি

5
কনসোল মোডে স্ট্রিম লেখার সমতুল্যdataFrame.writeStream.outputMode("append").format("console").option("truncate", "false").start()
জেএমেস

37

যদি আপনি রাখেন results.show(false), ফলাফলগুলি কাটা হবে না


2
আমি কল্পনা যে TomTom101 এর উত্তরে মন্তব্য সম্পর্কে falseখুব, এখানে প্রযোজ্য।
মোগসদাদ

1
@ নরেন্দ্র পরমার সিনট্যাক্স হওয়া উচিত results.show(20, False)। আপনি যা উল্লেখ করেছেন সে ত্রুটি দেবে।
জয় প্রকাশ

@ জয় প্রকাশ, আমি স্কেলার জন্য এই উত্তরটি দিয়েছি এবং আপনি অজগর সম্পর্কে কথা বলছেন,
নরেন্দ্র পরমার

@ নরেন্দ্রপর্মার দুঃখিত আপনি সঠিক আছেন। ইন scalaউভয় অপশন বৈধ। results.show(false)এবংresults.show(20, false)
জয় প্রকাশ

17

অন্য সমাধান ভাল। এগুলি যদি আপনার লক্ষ্য হয়:

  1. কলামগুলির কাটছাঁটি নেই,
  2. সারি ক্ষতি নেই,
  3. দ্রুত এবং
  4. দক্ষ

এই দুটি লাইন দরকারী ...

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

অধ্যবসায় করে, নির্বাহকের মধ্যে অন্তর্বর্তী অন্তর্নিহিত ডেটা ফ্রেম কাঠামো ব্যবহার করার সময় persistবা পরিচালনা cacheকরার সময় 2 নির্বাহক ক্রিয়াকলাপ, গণনা এবং প্রদর্শনগুলি দ্রুত এবং আরও কার্যকর । অবিরাম এবং ক্যাশে সম্পর্কে আরও দেখুন ।


1
খুব সুন্দর. ধন্যবাদ!
টিমব্রাম

15

নীচে কোড প্রতিটি কলামে কাটা ছাড়াই সমস্ত সারি দেখতে সহায়তা করবে

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

একই জিজ্ঞাস্তি আমি পূর্ববর্তী উত্তরদাতাকে জিজ্ঞাসা করেছি: এই কারণটি dfকি দুটিবার সংগ্রহ করা যায়?
জাভাদবা

@ জাভাদ্বা হ্যাঁ, আমি মনে করি গণনা () একবার df দিয়ে যাবে, এবং দেখায় () দুবার df সংগ্রহ করবে।
মোচেন

10

results.show(20, False)বা results.show(20, false) আপনি এটি জাভা / স্কালা / পাইথনে চালাচ্ছেন কিনা তার উপর নির্ভর করে


3

results.show(false) আপনাকে পূর্ণ কলামের সামগ্রী প্রদর্শন করবে।

ডিফল্ট সীমা 20 অনুসারে পদ্ধতি দেখান এবং এর আগে একটি সংখ্যা যুক্ত করা falseআরও সারি দেখায়।


2

এই আদেশ ব্যবহার করে দেখুন:

df.show(df.count())

1
এটি ব্যবহার করে দেখুন: df.show (কিছু না) কাজ করবে তবে df.show (df.count ()) কাজ করবে না df.count আউটপুট টাইপ দীর্ঘ দেয় যা df.show () দ্বারা গ্রহণযোগ্য নয় কারণ এটি পূর্ণসংখ্যার ধরণকে গ্রহণ করে।
থোটা ক্রান্তি কুমার

উদাহরণস্বরূপ df.show (2000) ব্যবহার করুন। এটি 2000 সারি পুনরুদ্ধার করবে
থোটা ক্রান্তি কুমার

2
এই কারণটি dfকি দুইবার সংগ্রহ করা যায়?
জাভাদবা

2

results.show(20,false) স্কালায় আমার জন্য কৌশলটি করেছে।




0

এটি স্কেলে চেষ্টা করুন:

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

শো পদ্ধতিটি একটি পূর্ণসংখ্যা এবং বুলিয়ান মান গ্রহণ করে তবে df.count দীর্ঘায়িত করে ... তাই টাইপ castালাই প্রয়োজনীয়



0

নিম্নলিখিত উত্তরটি স্পার্ক স্ট্রিমিং অ্যাপ্লিকেশনটিতে প্রযোজ্য।

"ট্র্যাঙ্কেট" বিকল্পটি মিথ্যা হিসাবে সেট করে, আপনি পুরো কলামটি প্রদর্শন করতে আউটপুট সিঙ্ককে বলতে পারেন।

val query = out.writeStream
          .outputMode(OutputMode.Update())
          .format("console")
          .option("truncate", false)
          .trigger(Trigger.ProcessingTime("5 seconds"))
          .start()
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.