मराठी

स्केलेबल आणि कार्यक्षम बिग डेटा सोल्यूशन्ससाठी Hive वापरून डेटावर प्रभावीपणे प्रक्रिया कशी करावी ते शिका.

Hive उत्पादन प्रक्रिया तयार करणे: डेटा-आधारित सोल्यूशन्ससाठी एक व्यापक मार्गदर्शक

आजच्या डेटा-आधारित जगात, प्रचंड डेटासेटवर प्रभावीपणे प्रक्रिया करण्याची आणि त्याचे विश्लेषण करण्याची क्षमता सर्व आकारांच्या संस्थांसाठी महत्त्वपूर्ण आहे. Apache Hadoop वर तयार केलेली डेटा वेअरहाउस प्रणाली, Hive, बिग डेटा प्रक्रियेसाठी एक शक्तिशाली आणि स्केलेबल सोल्यूशन प्रदान करते. हे व्यापक मार्गदर्शक तुम्हाला प्रभावी Hive उत्पादन प्रक्रिया तयार करण्याच्या प्रमुख पैलूंमधून, प्रारंभिक सेटअपपासून प्रगत ऑप्टिमायझेशन तंत्रांपर्यंत घेऊन जाईल. हे जागतिक प्रेक्षकांसाठी तयार केले आहे, जे विविध पार्श्वभूमी आणि कौशल्यांच्या विविध स्तरांची ओळख करून घेते.

Hive आणि बिग डेटामधील त्याची भूमिका समजून घेणे

Apache Hive Hadoop मध्ये संग्रहित मोठ्या डेटासेटच्या क्वेरी आणि विश्लेषण प्रक्रिया सुलभ करण्यासाठी डिझाइन केलेले आहे. हे वापरकर्त्यांना HiveQL नावाच्या SQL-सारख्या भाषेचा वापर करून डेटा क्वेरी करण्याची परवानगी देते, ज्यामुळे SQL शी परिचित असलेल्या व्यक्तींसाठी बिग डेटावर काम करणे सोपे होते. Hive क्वेरींना MapReduce जॉब्समध्ये रूपांतरित करते, जे Hadoop क्लस्टरवर चालवले जातात. हे आर्किटेक्चर स्केलेबिलिटी आणि फॉल्ट टॉलरन्स सक्षम करते, ज्यामुळे ते पेट्टाबाईट्स डेटा हाताळण्यासाठी आदर्श ठरते.

Hive ची प्रमुख वैशिष्ट्ये:

Hive Hadoop च्या गुंतागुंती आणि SQL च्या परिचयातील अंतर भरून काढते, ज्यामुळे बिग डेटा अधिक वापरकर्त्यांसाठी उपलब्ध होते. हे ETL (Extract, Transform, Load) प्रक्रिया, डेटा वेअरहाउसिंग आणि ॲड-हॉक क्वेरी विश्लेषणासाठी उत्कृष्ट आहे.

तुमचे Hive पर्यावरण सेट करणे

Hive सह डेटावर प्रक्रिया सुरू करण्यापूर्वी, तुम्हाला तुमचे पर्यावरण सेट करणे आवश्यक आहे. यामध्ये सामान्यतः Hadoop आणि Hive स्थापित करणे, त्यांना कॉन्फिगर करणे आणि ते संवाद साधू शकतात याची खात्री करणे समाविष्ट आहे. ऑपरेटिंग सिस्टम, Hadoop वितरण आणि क्लाउड प्रदाता (लागू असल्यास) यावर अवलंबून अचूक पायऱ्या बदलतील. जागतिक लागूतेसाठी खालील मार्गदर्शक तत्त्वांचा विचार करा.

1. पूर्व-आवश्यकता

तुमच्याकडे कार्यरत Hadoop क्लस्टर असल्याची खात्री करा. यामध्ये सामान्यतः Hadoop, Java आणि SSH स्थापित आणि कॉन्फिगर करणे समाविष्ट असते. तुम्हाला Linux (उदा. Ubuntu, CentOS), macOS, किंवा Windows सारखी योग्य ऑपरेटिंग सिस्टम देखील आवश्यक असेल. Amazon EMR, Google Cloud Dataproc आणि Azure HDInsight सारखे क्लाउड-आधारित पर्याय ही प्रक्रिया सोपी करू शकतात.

2. स्थापना आणि कॉन्फिगरेशन

Apache वेबसाइटवरून किंवा तुमच्या Hadoop वितरणाच्या पॅकेज व्यवस्थापकाकडून Hive वितरण डाउनलोड करा. Hive एका समर्पित मशीनवर किंवा तुमच्या Hadoop क्लस्टरमधील एका नोडवर स्थापित करा. `hive-site.xml` फाईलमध्ये बदल करून Hive कॉन्फिगर करा. प्रमुख कॉन्फिगरेशन्समध्ये हे समाविष्ट आहे:

उदाहरण (सरलीकृत):

<property>
 <name>hive.metastore.uris</name>
 <value>thrift://<metastore_host>:9083</value>
</property>

<property>
 <name>hive.metastore.warehouse.dir</name>
 <value>/user/hive/warehouse</value>
</property>

3. Metastore सेटअप

Hive metastore तुमच्या टेबल्स, पार्टिशन्स आणि इतर डेटा स्ट्रक्चर्सबद्दल मेटाडेटा संग्रहित करते. तुम्हाला तुमचा metastore म्हणून काम करण्यासाठी डेटाबेस निवडण्याची आवश्यकता आहे (उदा. MySQL, PostgreSQL, किंवा Derby). जर तुम्ही MySQL निवडत असाल, तर योग्य वापरकर्ता परवानग्यांसह ते सेट करा. `hive-site.xml` गुणधर्मांचा वापर करून Hive कॉन्फिगर करा जेणेकरून ते metastore डेटाबेसकडे निर्देशित होईल.

4. Hive सुरू करणे

Hive metastore सेवा सुरू करा, त्यानंतर Hive कमांड-लाइन इंटरफेस (CLI) किंवा Beeline क्लायंट (अधिक प्रगत CLI) सुरू करा. तुम्ही Tableau, Power BI आणि इतर विश्लेषण प्लॅटफॉर्म सारख्या साधनांमधून JDBC/ODBC कनेक्टिव्हिटी सक्षम करण्यासाठी HiveServer2 देखील वापरू शकता.

उदाहरणार्थ, Hive CLI सुरू करण्यासाठी:

hive

डेटा लोडिंग आणि Schema व्याख्या

तुमचे Hive पर्यावरण सेट झाल्यानंतर, पुढील पायरी म्हणजे तुमचा डेटा लोड करणे आणि Schema परिभाषित करणे. Hive विविध डेटा फॉरमॅट्सना समर्थन देते आणि तुमच्या डेटा स्ट्रक्चर्स परिभाषित करण्यासाठी लवचिक पर्याय प्रदान करते. आंतरराष्ट्रीय डेटा फॉरमॅट्सचा विचार करा, जसे की CSV फाइल्स जे स्थानानुसार वेगवेगळे delimiter वापरतात.

1. Hive द्वारे समर्थित डेटा फॉरमॅट्स

Hive अनेक डेटा फॉरमॅट्सना समर्थन देते, ज्यात हे समाविष्ट आहे:

तुमच्या डेटा स्ट्रक्चर, कार्यप्रदर्शन आवश्यकता आणि स्टोरेज गरजांवर आधारित फॉरमॅट निवडा. ORC आणि Parquet त्यांच्या कार्यक्षमतेसाठी अनेकदा प्राधान्य दिले जातात.

2. टेबल्स तयार करणे आणि Schemas परिभाषित करणे

तुमच्या डेटाची रचना परिभाषित करण्यासाठी `CREATE TABLE` स्टेटमेंट वापरा. यामध्ये कॉलमची नावे, डेटा प्रकार आणि delimiter निर्दिष्ट करणे समाविष्ट आहे. सामान्य वाक्यरचना आहे:

CREATE TABLE <table_name> (
 <column_name> <data_type>,
 ...
) 
ROW FORMAT DELIMITED
  FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE;

उदाहरण:

CREATE TABLE employees (
 employee_id INT,
 first_name STRING,
 last_name STRING,
 department STRING,
 salary DOUBLE
) 
ROW FORMAT DELIMITED
  FIELDS TERMINATED BY ','
STORED AS TEXTFILE;

या उदाहरणात, आम्ही `employees` नावाचे टेबल विविध कॉलम्स आणि त्यांच्या डेटा प्रकारांसह तयार करतो. `ROW FORMAT DELIMITED` आणि `FIELDS TERMINATED BY ','` क्लॉज निर्दिष्ट करतात की डेटा टेक्स्ट फाइल्समध्ये कसा फॉरमॅट केलेला आहे. तुमच्या डेटा स्रोताच्या स्थानानुसार वेगवेगळ्या delimiter च्या वापराचा विचार करा.

3. Hive टेबल्समध्ये डेटा लोड करणे

तुमच्या Hive टेबल्समध्ये डेटा लोड करण्यासाठी `LOAD DATA` स्टेटमेंट वापरा. तुम्ही लोकल फाइल्स किंवा HDFS मधून डेटा लोड करू शकता. सामान्य वाक्यरचना आहे:

LOAD DATA LOCAL INPATH '<local_file_path>' INTO TABLE <table_name>;

किंवा HDFS मधून लोड करण्यासाठी:

LOAD DATA INPATH '<hdfs_file_path>' INTO TABLE <table_name>;

उदाहरण:

LOAD DATA LOCAL INPATH '/path/to/employees.csv' INTO TABLE employees;

हा कमांड `employees.csv` फाईलमधील डेटा `employees` टेबलमध्ये लोड करतो. तुम्हाला CSV फाईलचे फॉरमॅट टेबलच्या Schema शी सुसंगत असल्याची खात्री करणे आवश्यक आहे.

4. तुमच्या टेबल्सचे विभाजन (Partitioning)

विभाजन (Partitioning) एक किंवा अधिक कॉलम्सवर (उदा. तारीख, प्रदेश) आधारित टेबल लहान भागांमध्ये विभाजित करून क्वेरी कार्यप्रदर्शन सुधारते. हे Hive ला क्वेरी करताना केवळ संबंधित डेटा वाचण्याची परवानगी देते. वेळ किंवा स्थानानुसार संरचित केलेल्या डेटासेटसाठी विभाजन महत्त्वपूर्ण आहे.

`CREATE TABLE` स्टेटमेंटमध्ये `PARTITIONED BY` क्लॉज वापरून विभाजित टेबल तयार करा.

CREATE TABLE sales (
 transaction_id INT,
 product_id INT,
 quantity INT,
 sale_date STRING
)
PARTITIONED BY (year INT, month INT) 
ROW FORMAT DELIMITED
  FIELDS TERMINATED BY ',';

विभाजित टेबलमध्ये डेटा लोड करताना, तुम्हाला विभाजन मूल्ये निर्दिष्ट करणे आवश्यक आहे:

LOAD DATA LOCAL INPATH '/path/to/sales_2023_10.csv' INTO TABLE sales PARTITION (year=2023, month=10);

प्रभावी Hive क्वेरी (HiveQL) लिहिणे

HiveQL, Hive साठी SQL-सारखी भाषा, तुम्हाला तुमचा डेटा क्वेरी आणि विश्लेषण करण्याची परवानगी देते. तुमच्या डेटासेटमधून मौल्यवान अंतर्दृष्टी मिळविण्यासाठी HiveQL मध्ये प्रभुत्व मिळवणे महत्त्वाचे आहे. प्रत्येक कॉलमसाठी वापरल्या जाणार्‍या डेटा प्रकारांची नेहमी आठवण ठेवा.

1. मूलभूत SELECT स्टेटमेंट्स

टेबलमधून डेटा पुनर्प्राप्त करण्यासाठी `SELECT` स्टेटमेंट वापरा. सामान्य वाक्यरचना आहे:

SELECT <column_name(s)> FROM <table_name> WHERE <condition(s)>;

उदाहरण:

SELECT employee_id, first_name, last_name
FROM employees
WHERE department = 'Sales';

2. WHERE क्लॉजसह डेटा फिल्टर करणे

`WHERE` क्लॉज निर्दिष्ट अटींवर आधारित डेटा फिल्टर करतो. तुमचे फिल्टर निकष तयार करण्यासाठी तुलनात्मक ऑपरेटर (उदा. =, !=, <, >) आणि तार्किक ऑपरेटर (उदा. AND, OR, NOT) वापरा. नल मूल्यांच्या परिणामांचा विचार करा आणि ते परिणामांवर कसा परिणाम करू शकतात.

उदाहरण:

SELECT * FROM sales WHERE sale_date > '2023-01-01' AND quantity > 10;

3. GROUP BY आणि HAVING सह डेटा एकत्र करणे

`GROUP BY` क्लॉज एक किंवा अधिक कॉलम्समध्ये समान मूल्ये असलेल्या पंक्तींना सारांश पंक्तीमध्ये गटबद्ध करतो. `HAVING` क्लॉज एका अटीवर आधारित गटबद्ध डेटा फिल्टर करतो. `COUNT`, `SUM`, `AVG`, `MIN`, आणि `MAX` सारखे एकत्रीकरण फंक्शन्स `GROUP BY` सह वापरले जातात.

उदाहरण:

SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department
HAVING employee_count > 5;

4. टेबल्स जोडणे (Joining)

सामान्य कॉलमवर आधारित एकाधिक टेबलमधून डेटा एकत्र करण्यासाठी `JOIN` क्लॉज वापरा. Hive `INNER JOIN`, `LEFT OUTER JOIN`, `RIGHT OUTER JOIN`, आणि `FULL OUTER JOIN` सह विविध जॉईन प्रकारांना समर्थन देते. जॉईन ऑर्डरच्या कार्यक्षमतेवरील परिणामांबद्दल जागरूक रहा.

उदाहरण:

SELECT e.first_name, e.last_name, d.department_name
FROM employees e
JOIN departments d ON e.department = d.department_id;

5. इन-बिल्ट फंक्शन्स वापरणे

Hive डेटा हाताळणीसाठी स्ट्रिंग फंक्शन्स, तारीख फंक्शन्स आणि गणितीय फंक्शन्ससह इन-बिल्ट फंक्शन्सचा एक समृद्ध संच ऑफर करते. ते कसे कार्य करतात हे पाहण्यासाठी या फंक्शन्ससह प्रयोग करा आणि काही परिवर्तने आवश्यक आहेत का ते तपासा.

उदाहरण (स्ट्रिंग फंक्शन):

SELECT UPPER(first_name), LOWER(last_name) FROM employees;

उदाहरण (तारीख फंक्शन):

SELECT sale_date, YEAR(sale_date), MONTH(sale_date) FROM sales;

कार्यक्षमतेसाठी Hive क्वेरी ऑप्टिमाइझ करणे

तुमचे डेटासेट वाढल्यावर, क्वेरी कार्यप्रदर्शन महत्त्वपूर्ण ठरते. अनेक तंत्रे तुमच्या Hive क्वेरींची कार्यक्षमता लक्षणीयरीत्या सुधारू शकतात. या तंत्रांची प्रभावीता तुमच्या डेटावर, क्लस्टर कॉन्फिगरेशनवर आणि तुमच्या क्वेरींच्या जटिलतेवर अवलंबून असेल. कोणतेही ऑप्टिमायझेशन लागू करण्यापूर्वी आणि नंतर मोजमाप करा की ते मूल्य प्रदान करत आहे याची पुष्टी करा.

1. क्वेरी ऑप्टिमायझेशन तंत्रे

2. डेटा फॉरमॅट आणि स्टोरेज ऑप्टिमायझेशन

3. ऑप्टिमायझेशनसाठी कॉन्फिगरेशन सेटिंग्ज

क्वेरी एक्झिक्युशन ऑप्टिमाइझ करण्यासाठी Hive कॉन्फिगरेशन सेटिंग्जमध्ये बदल करा. काही महत्त्वपूर्ण सेटिंग्जमध्ये हे समाविष्ट आहे:

उदाहरण (समांतर एक्झिक्युशन कॉन्फिगर करणे):

SET hive.exec.parallel=true;

4. कॉस्ट-आधारित ऑप्टिमायझेशन (CBO)

CBO एक प्रगत ऑप्टिमायझेशन तंत्र आहे जे अधिक कार्यक्षम क्वेरी एक्झिक्युशन प्लॅन तयार करण्यासाठी टेबल सांख्यिकींचा वापर करते. हे डेटा वितरण, टेबल आकार आणि इतर घटकांचे विश्लेषण करते जेणेकरून क्वेरी कार्यान्वित करण्याचा सर्वोत्तम मार्ग निश्चित करता येईल. CBO खालीलप्रमाणे सेट करून सक्षम करा:

SET hive.cbo.enable=true;

CBO ला आवश्यक असलेली माहिती प्रदान करण्यासाठी टेबल सांख्यिकी संकलित करा. तुम्ही हे खालील कमांड वापरून करू शकता:

ANALYZE TABLE <table_name> COMPUTE STATISTICS;

अधिक तपशीलवार कॉलम सांख्यिकींसाठी `ANALYZE TABLE <table_name> COMPUTE STATISTICS FOR COLUMNS <column_name1>,<column_name2>;` चालवण्याचा विचार करा.

प्रगत Hive तंत्रे

एकदा तुम्ही मूलभूत गोष्टींमध्ये प्रभुत्व मिळवल्यानंतर, तुम्ही जटिल डेटा प्रक्रिया परिस्थिती हाताळण्यासाठी प्रगत Hive तंत्रे एक्सप्लोर करू शकता.

1. वापरकर्ता-परिभाषित फंक्शन्स (UDFs)

UDFs तुम्हाला Java मध्ये कस्टम फंक्शन्स लिहून Hive ची कार्यक्षमता वाढविण्याची परवानगी देतात. हे जटिल डेटा ट्रान्सफॉर्मेशन करण्यासाठी किंवा Hive ला बाह्य सिस्टम्ससह एकत्रित करण्यासाठी उपयुक्त आहे. UDFs तयार करण्यासाठी Java प्रोग्रामिंग ज्ञानाची आवश्यकता असते आणि विशिष्ट कामांमध्ये डेटा प्रक्रिया लक्षणीयरीत्या सुधारू शकते.

UDF तयार करण्यासाठी आणि वापरण्यासाठी पायऱ्या:

  1. Java मध्ये UDF लिहा, `org.apache.hadoop.hive.ql.udf.UDF` क्लासचा विस्तार करा.
  2. Java कोडला JAR फाइलमध्ये कंपाईल करा.
  3. `ADD JAR` कमांड वापरून JAR फाइल Hive च्या classpath मध्ये जोडा.
  4. फंक्शनचे नाव, Java क्लासचे नाव आणि JAR फाइल पाथ निर्दिष्ट करून `CREATE FUNCTION` कमांड वापरून Hive मध्ये UDF तयार करा.
  5. तुमच्या Hive क्वेरींमध्ये UDF वापरा.

उदाहरण (साधे UDF): एक स्ट्रिंग कॅपिटलाइज करणारे हे UDF विचारात घ्या.

// Java UDF
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;

public class Capitalize extends UDF {
 public Text evaluate(Text str) {
 if (str == null) {
 return null;
 }
 return new Text(str.toString().toUpperCase());
 }
}

हे JAR मध्ये (उदा. `Capitalize.jar`) कंपाईल करा आणि नंतर खालील Hive कमांड्स वापरा.

ADD JAR /path/to/Capitalize.jar;
CREATE FUNCTION capitalize AS 'Capitalize' USING JAR '/path/to/Capitalize.jar';
SELECT capitalize(first_name) FROM employees;

2. वापरकर्ता-परिभाषित ॲग्रीगेट फंक्शन्स (UDAFs)

UDAFs अनेक पंक्तींमध्ये एकत्रीकरण (aggregation) करतात. UDFs प्रमाणेच, तुम्ही UDAFs Java मध्ये लिहिता. ते इनपुट डेटा स्वीकारणारे `evaluate()` मेथड परिभाषित करून आणि एकत्रीकरण प्रक्रियेसाठी `iterate()`, `merge()`, आणि `terminatePartial()` मेथड वापरून कार्य करतात.

3. वापरकर्ता-परिभाषित टेबल-जनरेटिंग फंक्शन्स (UDTFs)

UDTFs एका इनपुट पंक्तीमधून एकाधिक पंक्ती आणि कॉलम्स जनरेट करतात. ते UDFs आणि UDAFs पेक्षा अधिक जटिल आहेत, परंतु डेटा ट्रान्सफॉर्मेशनसाठी शक्तिशाली आहेत.

4. डायनॅमिक पार्टिशनिंग

डायनॅमिक पार्टिशनिंग Hive ला डेटा मूल्यांवर आधारित आपोआप पार्टिशन्स तयार करण्याची परवानगी देते. हे पार्टिशन्ड टेबलमध्ये डेटा लोड करण्याची प्रक्रिया सुलभ करते. तुम्ही `hive.exec.dynamic.partition=true` आणि `hive.exec.dynamic.partition.mode=nonstrict` सेट करून डायनॅमिक पार्टिशनिंग सक्षम करता.

उदाहरण (डायनॅमिक पार्टिशनिंग):

SET hive.exec.dynamic.partition=true;
SET hive.exec.dynamic.partition.mode=nonstrict;

INSERT INTO TABLE sales_partitioned
PARTITION (year, month)
SELECT transaction_id, product_id, quantity, sale_date, year(sale_date), month(sale_date)
FROM sales_staging;

5. जटिल डेटा प्रकार

Hive ॲरेज, मॅप्स आणि स्ट्रक्ट्स सारख्या जटिल डेटा प्रकारांना समर्थन देते, ज्यामुळे तुम्ही Hive मध्ये थेट अधिक जटिल डेटा स्ट्रक्चर्स हाताळू शकता. हे डेटा लोडिंग दरम्यान अशा प्रकारांचे पूर्व-प्रक्रिया करण्याची आवश्यकता दूर करते.

उदाहरण (स्ट्रक्ट्स वापरणे):

CREATE TABLE contacts (
 id INT,
 name STRING,
 address STRUCT<street:STRING, city:STRING, state:STRING, zip:INT>
);

Hive उत्पादन प्रक्रियेसाठी सर्वोत्तम पद्धती

कार्यक्षम आणि देखभाल करण्यायोग्य Hive उत्पादन प्रक्रिया सुनिश्चित करण्यासाठी या सर्वोत्तम पद्धतींचे अनुसरण करा.

1. डेटा गव्हर्नन्स आणि गुणवत्ता

2. क्वेरी डिझाइन आणि ऑप्टिमायझेशन

3. संसाधन व्यवस्थापन

4. दस्तऐवजीकरण आणि आवृत्ती नियंत्रण

क्लाउड-आधारित Hive सोल्यूशन्स

अनेक क्लाउड प्रदाते व्यवस्थापित Hive सेवा देतात, ज्यामुळे डिप्लॉयमेंट, व्यवस्थापन आणि स्केलिंग सुलभ होते. यात हे समाविष्ट आहे:

या क्लाउड सेवा अंतर्निहित पायाभूत सुविधा व्यवस्थापित करण्याची आवश्यकता दूर करतात, ऑपरेशनल ओव्हरहेड कमी करतात आणि तुम्हाला डेटा विश्लेषणावर लक्ष केंद्रित करण्यास अनुमती देतात. ते अनेकदा किफायतशीर स्केलेबिलिटी आणि निरीक्षण आणि व्यवस्थापनासाठी एकत्रित साधने देखील प्रदान करतात.

सामान्य समस्यांचे निवारण

येथे काही सामान्य Hive-संबंधित समस्या आणि त्यांचे निराकरण आहेत:

निष्कर्ष

प्रभावी Hive उत्पादन प्रक्रिया तयार करण्यासाठी Hive च्या आर्किटेक्चर, डेटा स्टोरेज फॉरमॅट्स, क्वेरी ऑप्टिमायझेशन तंत्रे आणि सर्वोत्तम पद्धतींची सखोल समज आवश्यक आहे. या व्यापक मार्गदर्शिकेतील मार्गदर्शक तत्त्वांचे अनुसरण करून, तुम्ही मोठे डेटासेट हाताळण्यास सक्षम एक मजबूत आणि स्केलेबल डेटा प्रक्रिया सोल्यूशन तयार करू शकता. प्रारंभिक सेटअपपासून प्रगत ऑप्टिमायझेशन आणि समस्यानिवारणापर्यंत, हे मार्गदर्शक तुम्हाला जागतिक स्तरावर डेटा-आधारित अंतर्दृष्टीसाठी Hive ची शक्ती वापरण्यासाठी आवश्यक ज्ञान आणि कौशल्ये प्रदान करते. सतत शिकणे आणि प्रयोग करणे तुम्हाला तुमच्या डेटामधून जास्तीत जास्त मूल्य काढण्यासाठी अधिक सक्षम करेल.