Date এবং Time Functions এর ব্যবহার

Time Series এবং Date Functions - স্পার্ক এসকিউএল (Spark SQL) - Big Data and Analytics

363

Spark SQL ডেটা বিশ্লেষণে এবং রিপোর্টিংয়ের জন্য একটি শক্তিশালী টুল, যা Date এবং Time Functions এর মাধ্যমে ডেটার সাথে সময় সম্পর্কিত নানা অপারেশন করতে সক্ষম। সময় এবং তারিখের সাথে কাজ করার সময় সঠিক ফাংশন ব্যবহার করে সহজেই ডেটাকে ফিল্টার, গ্রুপ বা প্রসেস করা যায়। Spark SQL এর Date এবং Time Functions ডেটার উপর সময় ভিত্তিক বিভিন্ন অ্যাগ্রিগেশন, ট্রান্সফর্মেশন এবং ক্যালকুলেশন করতে সাহায্য করে।

চলুন, Spark SQL-এ Date এবং Time Functions এর ব্যবহার কিভাবে করা যায় তা বিস্তারিতভাবে জানি।


Spark SQL-এ Date এবং Time Functions

Spark SQL বিভিন্ন ধরনের সময় এবং তারিখ সম্পর্কিত ফাংশন সরবরাহ করে। এগুলির মাধ্যমে ডেটাকে নির্দিষ্ট ফরম্যাটে রূপান্তর করা, সময় যোগ/বিয়োগ করা, বিভিন্ন তারিখ সম্পর্কিত তথ্য বের করা এবং আরও অনেক ধরনের অপারেশন করা সম্ভব।


1. CURRENT_DATE() এবং CURRENT_TIMESTAMP()

CURRENT_DATE() এবং CURRENT_TIMESTAMP() ফাংশনগুলি বর্তমান তারিখ এবং সময় প্রদান করে।

  • CURRENT_DATE(): বর্তমান দিন/তারিখ প্রদান করে।
  • CURRENT_TIMESTAMP(): বর্তমান তারিখ এবং সময় প্রদান করে।

উদাহরণ:

# CURRENT_DATE() ব্যবহার
spark.sql("SELECT CURRENT_DATE()").show()

# CURRENT_TIMESTAMP() ব্যবহার
spark.sql("SELECT CURRENT_TIMESTAMP()").show()

আউটপুট:

+--------------+
|current_date  |
+--------------+
| 2024-12-19   |
+--------------+

+-------------------+
|current_timestamp  |
+-------------------+
| 2024-12-19 12:34:56|
+-------------------+

2. DATE_ADD() এবং DATE_SUB()

DATE_ADD() এবং DATE_SUB() ফাংশনগুলি তারিখের সাথে দিন যোগ বা বিয়োগ করতে ব্যবহৃত হয়।

  • DATE_ADD(date, days): নির্দিষ্ট তারিখে নির্দিষ্ট দিন যোগ করে নতুন তারিখ প্রদান করে।
  • DATE_SUB(date, days): নির্দিষ্ট তারিখ থেকে নির্দিষ্ট দিন বিয়োগ করে নতুন তারিখ প্রদান করে।

উদাহরণ:

# DATE_ADD() ব্যবহার
spark.sql("SELECT DATE_ADD('2024-12-19', 5)").show()

# DATE_SUB() ব্যবহার
spark.sql("SELECT DATE_SUB('2024-12-19', 5)").show()

আউটপুট:

+-------------------+
|date_add(2024-12-19, 5)|
+-------------------+
|2024-12-24         |
+-------------------+

+-------------------+
|date_sub(2024-12-19, 5)|
+-------------------+
|2024-12-14         |
+-------------------+

3. DATEDIFF()

DATEDIFF() ফাংশন দুটি তারিখের মধ্যে পার্থক্য দিন হিসেবে প্রদান করে।

উদাহরণ:

# DATEDIFF() ব্যবহার
spark.sql("SELECT DATEDIFF('2024-12-19', '2024-12-14')").show()

আউটপুট:

+-------------------+
|datediff(2024-12-19, 2024-12-14)|
+-------------------+
|5                  |
+-------------------+

4. YEAR(), MONTH(), DAY()

YEAR(), MONTH(), DAY() ফাংশনগুলি একটি তারিখ থেকে বছর, মাস এবং দিনের তথ্য বের করতে ব্যবহৃত হয়।

উদাহরণ:

# YEAR(), MONTH(), DAY() ব্যবহার
spark.sql("SELECT YEAR('2024-12-19'), MONTH('2024-12-19'), DAY('2024-12-19')").show()

আউটপুট:

+----------+--------------+-----------+
|year(2024-12-19)|month(2024-12-19)|day(2024-12-19)|
+----------+--------------+-----------+
|2024      |12            |19         |
+----------+--------------+-----------+

5. DATE_FORMAT()

DATE_FORMAT() ফাংশন ব্যবহার করে আপনি একটি তারিখকে নির্দিষ্ট ফরম্যাটে কনভার্ট করতে পারেন।

উদাহরণ:

# DATE_FORMAT() ব্যবহার
spark.sql("SELECT DATE_FORMAT('2024-12-19', 'yyyy/MM/dd')").show()

আউটপুট:

+-------------------------+
|date_format(2024-12-19, yyyy/MM/dd)|
+-------------------------+
|2024/12/19               |
+-------------------------+

6. UNIX_TIMESTAMP() এবং FROM_UNIXTIME()

UNIX_TIMESTAMP() ফাংশন একটি তারিখ বা সময়ের স্ট্রিংকে ইউনিক্স টাইমস্ট্যাম্প (1970 সালের জানুয়ারি 1 তারিখ থেকে সেকেন্ডের গণনা) এ রূপান্তর করে, এবং FROM_UNIXTIME() ফাংশন এটি ফেরত দেয় একটি তারিখ/সময় স্ট্রিং হিসেবে।

  • UNIX_TIMESTAMP(date): একটি তারিখকে ইউনিক্স টাইমস্ট্যাম্পে রূপান্তর করে।
  • FROM_UNIXTIME(timestamp): একটি টাইমস্ট্যাম্প থেকে তারিখ/সময় স্ট্রিং তৈরি করে।

উদাহরণ:

# UNIX_TIMESTAMP() ব্যবহার
spark.sql("SELECT UNIX_TIMESTAMP('2024-12-19 12:30:00', 'yyyy-MM-dd HH:mm:ss')").show()

# FROM_UNIXTIME() ব্যবহার
spark.sql("SELECT FROM_UNIXTIME(1609459200)").show()

আউটপুট:

+-----------------------------------------------+
|unix_timestamp(2024-12-19 12:30:00, yyyy-MM-dd HH:mm:ss)|
+-----------------------------------------------+
|1701289800                                     |
+-----------------------------------------------+

+------------------------------------------+
|from_unixtime(1609459200)                 |
+------------------------------------------+
|2021-01-01 00:00:00                       |
+------------------------------------------+

7. TIMESTAMPADD() এবং TIMESTAMPDIFF()

  • TIMESTAMPADD(): নির্দিষ্ট সময়ের মধ্যে দিন, মাস, বা বছর যোগ করে।
  • TIMESTAMPDIFF(): দুটি টাইমস্ট্যাম্পের মধ্যে পার্থক্য বের করে।

উদাহরণ:

# TIMESTAMPADD() ব্যবহার
spark.sql("SELECT TIMESTAMPADD(MONTH, 2, '2024-12-19')").show()

# TIMESTAMPDIFF() ব্যবহার
spark.sql("SELECT TIMESTAMPDIFF(DAY, '2024-12-19', '2024-12-24')").show()

আউটপুট:

+---------------------------------------+
|timestampadd(MONTH, 2, 2024-12-19)     |
+---------------------------------------+
|2025-02-19                             |
+---------------------------------------+

+------------------------------------------+
|timestampdiff(DAY, 2024-12-19, 2024-12-24)|
+------------------------------------------+
|5                                         |
+------------------------------------------+

সারাংশ

Spark SQL-এ Date এবং Time Functions এর মাধ্যমে সময় সম্পর্কিত অপারেশনগুলি সহজে করা যায়, যেমন তারিখ এবং সময় যোগ করা, পার্থক্য বের করা, নির্দিষ্ট ফরম্যাটে রূপান্তর করা, এবং টাইমস্ট্যাম্পের সাথে কাজ করা। এই ফাংশনগুলি বড় ডেটাসেটের উপর সময় ভিত্তিক বিশ্লেষণ করতে ব্যবহৃত হয়, যা ডেটা বিশ্লেষণকে আরও কার্যকরী এবং দ্রুত করে তোলে। Spark SQL-এর Date এবং Time Functions ডেটাবেস বিশ্লেষণ, রিপোর্টিং, এবং ট্যাম্পলেট তৈরি করার সময় একটি গুরুত্বপূর্ণ ভূমিকা পালন করে।

Content added By
Promotion

Are you sure to start over?

Loading...