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


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.