Redshift डेटा टाइप और फीचर सीखना

Redshift परिचय

Jason Myers

Principal Architect

बेसिक डेटा टाइप

संख्यात्मक प्रकार

  • SMALLINT, INTEGER, BIGINT
  • DECIMAL / NUMERIC
  • DOUBLE PRECISION
  • REAL

दिनांक-समय प्रकार

  • DATE
  • TIME, TIMETZ
  • TIMESTAMP, TIMESTAMPTZ

कैरेक्टर प्रकार

  • CHAR
  • VARCHAR

Boolean प्रकार

  • BOOLEAN
Redshift परिचय

स्पेशल डेटा टाइप

SUPER प्रकार

  • सेमी-स्ट्रक्चर्ड डेटा
    • Arrays
    • Tuples
    • नेस्टेड स्ट्रक्चर (जैसे JSON)
  • इन्हें संभालने के लिए PartiQL का उपयोग
  • अधिकतम आकार 16MB

VARBYTE प्रकार

  • बाइनरी डेटा (BLOBs)
  • इमेज और वीडियो
Redshift परिचय

असमर्थित PostgreSQL प्रकार:

PostgreSQL प्रकार Redshift प्रकार
DATETIME TIMESTAMP, TIMESTAMPTZ
SERIAL INTEGER, BIGINT
UUID VARCHAR
JSON SUPER, VARCHAR
ARRAY SUPER, VARCHAR
BIT BOOLEAN, SMALLINT, VARCHAR
Redshift परिचय

कॉलम और उनके डेटा टाइप देखना

-- कॉलम विवरण देखें
SELECT column_name, 
       data_type, 
       character_maximum_length AS character_max_len,
       numeric_precision, 
       numeric_scale
  -- आंतरिक और बाहरी दोनों स्कीमा के कॉलम वाली view का उपयोग
  FROM SVV_ALL_COLUMNS 
 -- केवल spectrumdb स्कीमा में
 WHERE schema_name = 'spectrumdb'
   -- ecommerce_sales टेबल के लिए
   AND table_name = 'ecommerce_sales';
Redshift परिचय

कॉलम और उनके डेटा टाइप देखना (जारी)

column_name                  | data_type         | character_max_len | numeric_precision | numeric_scale
=============================|===================|===================|===================|==============
year_qtr                     | character varying | 100               | null              | null
total_sales                  | integer           | null              | 32                | 0
ecom_sales                   | integer           | null              | 32                | 0
percent_ecom                 | real              | null              | null              | null
percent_change_quarter_total | real              | null              | null              | null
percent_change_quarter_ecom  | real              | null              | null              | null
percent_change_year_total    | real              | null              | null              | null
percent_change_year_ecom     | real              | null              | null              | null
Redshift परिचय

डेटा टाइप "कम्पैटिबिलिटी"

  • इम्प्लिसिट कन्वर्ज़न: असाइनमेंट, तुलना
  • परिणाम दोबारा जाँचें!
From प्रकार To प्रकार
CHAR VARCHAR
DATE CHAR, VARCHAR, TIMESTAMP, TIMESTAMPTZ
TIMESTAMP CHAR, DATE, VARCHAR, TIMESTAMPTZ
BIGINT BOOLEAN, CHAR, DECIMAL, DOUBLE PRECISION, INTEGER, REAL, SMALLINT, VARCHAR
DECIMAL BIGINT, CHAR, DOUBLE PRECISION, INTEGER, REAL, SMALLINT, VARCHAR
1 https://docs.aws.amazon.com/redshift/latest/dg/c_Supported_data_types.html#r_Type_conversion
Redshift परिचय

डेटा टाइप को स्पष्ट रूप से cast करना

  • CAST
-- एक decimal को integer में cast करें और उसका उपनाम दें
SELECT CAST(2.00 AS INTEGER) AS our_int;
our_int
========
2
(1 row)
Redshift परिचय

TO फंक्शन

  • TO_CHAR, TO_DATE, TO_NUMBER
-- string को date में बदलें
SELECT CAST('14-01-2024 02:36:48' AS DATE) AS out_date;
date/time field value out of range: "14-01-2024 02:36:48"
HINT:  Perhaps you need a different "datestyle" setting.
-- string को date के रूप में parse करें
SELECT TO_DATE('14-01-2024 02:36:48', 'DD-MM-YYYY') AS our_date;
our_date
========
2024-01-14
(1 row)
Redshift परिचय

TO फंक्शन (जारी)

-- किसी date में महीने का नाम पाएँ
SELECT TO_CHAR(date '2024-01-14', 'MONTH') AS month_name;
month_name
========
JANUARY
(1 row)
  • दिनांक-समय और संख्यात्मक फॉर्मेट स्ट्रिंग्स
1 https://docs.aws.amazon.com/redshift/latest/dg/r_FORMAT_strings.html
Redshift परिचय

अभ्यास करते हैं!

Redshift परिचय

Preparing Video For Download...