الأسماء (داتابريك SQL)

يحدد أنواعا مختلفة من الكائنات في Databricks SQL.

اسم الكتالوج

يحدد كتالوجا. يوفر الكتالوج مجموعة من الكائنات التي يمكن تقسيمها إلى مخططات.

بناء الجملة

catalog_identifier

المعلمات

أمثلة

> USE CATALOG hive_metastore;

> CREATE CATALOG mycatalog;

اسم المخطط

يحدد مخططا. يوفر المخطط تجميعا للكائنات في كتالوج.

بناء الجملة

[ catalog_name . ] schema_identifier

المعلمات

أمثلة

> USE SCHEMA default;

> CREATE SCHEMA my_sc;

اسم قاعدة البيانات

مرادف لاسم المخطط.

في حين يفضل استخدام SCHEMA، DATABASE وهو قابل للتبديل SCHEMA .

اسم الجدول

يحدد كائن جدول. يمكن تأهيل الجدول باسم مخطط أو غير مؤهل باستخدام معرف بسيط.

بناء الجملة

{ [ schema_name . ] table_identifier |
  { file_format | `file_format` } . `path_to_table` }
  [ temporal_specification ]
  [ credential_specification ]

temporal_specification
{
  @ timestamp_encoding |
  @V version |
  TIMESTAMP AS OF timestamp_expression |
  VERSION AS OF version
}

credential_specification
  WITH ( CREDENTIAL credential_name )

المعلمات

  • schema_name: اسم مخطط مؤهل أو غير مؤهل يحتوي على الجدول.

  • table_identifier: معرف يحدد اسم الجدول أو table_alias.

  • file_format: واحد من ، ، csv، avroparquet، orc، ، binaryFile، text، delta (غير حساس لحالة الأحرف).

  • path_to_table: موقع الجدول في نظام الملفات. يجب أن يكون لديك ANY_FILE الإذن لاستخدام بناء الجملة هذا.

  • temporal_specification: عند استخدامها تشير إلى جدول دلتا في النقطة الزمنية أو الإصدار المحدد.

    يمكنك استخدام مواصفات زمنية فقط في سياق استعلام أو دمج باستخدام.

    • @ timestamp_encoding: حرف BIGINT إيجابي يقوم بتشفير طابع زمني بتنسيق .
    • @V الإصدار: INT إيجابي يحدد حرفيا إصدار جدول دلتا.
  • expr: تعبير بسيط يتم تقييمه إلى طابع زمني. expr يجب أن يكون تعبيرا ثابتا ، ولكن قد يحتوي على current_date() أو current_timestamp().

  • credential_specification

    يمكنك استخدام بيانات اعتماد قابلة للتطبيق للوصول إلى بيانات path_to_table اعتماد غير مضمنة في path_to_table.

    • credential_name

      اسم بيانات الاعتماد المستخدمة للوصول إلى موقع التخزين.

إذا كان الاسم غير مؤهل ولا يشير إلى اسم مستعار معروف للجدول، SQL يحاول Databricks أولا حل الجدول في المخطط الحالي.

إذا كان الاسم مؤهلا بمخطط، SQL Databricks يحاول حل الجدول في الكتالوج الحالي.

يثير Databricks SQL خطأ إذا كنت تستخدم جدولا temporal_specification غير بتنسيق Delta Lake.

أمثلة

`Employees`

employees

hr.employees

`hr`.`employees`

hive_metastore.default.tab

system.information_schema.columns

delta.`somedir/delta_table`

`csv`.`spreadsheets/data.csv`

`csv`.`spreadsheets/data.csv` WITH (CREDENTIAL some_credential)

عرض الاسم

يحدد طريقة عرض. يمكن أن تكون طريقة العرض مؤهلة باسم مخطط أو غير مؤهلة باستخدام معرف بسيط.

بناء الجملة

[ schema_name . ] view_identifier

المعلمات

  • schema_name: الاسم المؤهل أو غير المؤهل للمخطط الذي يحتوي على طريقة العرض.
  • view_identifier: معرف يحدد اسم طريقة العرض أو معرف العرض الخاص ب CTE.

أمثلة

`items`

items

hr.items

`hr`.`items`

اسم العمود

يحدد عمودا داخل جدول أو طريقة عرض. يمكن أن يكون العمود مؤهلا باسم جدول أو طريقة عرض، أو غير مؤهل باستخدام معرف بسيط.

بناء الجملة

[ { table_name | view_name } . ] column_identifier

المعلمات

  • table_name: اسم جدول مؤهل أو غير مؤهل للجدول الذي يحتوي على العمود.
  • view_name: اسم طريقة عرض مؤهل أو غير مؤهل لطريقة العرض التي تحتوي على العمود.
  • column_identifier: معرف يحدد اسم العمود.

يجب أن يكون العمود المحدد موجودا داخل الجدول أو طريقة العرض.

أمثلة

> SELECT c1 FROM VALUES(1) AS T(c1);
 c1
 1

اسم الحقل

يحدد حقلا داخل بنية. يمكن أن يكون العمود مؤهلا باسم جدول أو طريقة عرض، أو غير مؤهل باستخدام معرف بسيط.

بناء الجملة

expr { . field_identifier [. ...] }

المعلمات

يمكن الرجوع إلى حقل متداخل بعمق عن طريق تحديد معرف الحقل على طول المسار إلى بنية الجذر.

أمثلة

> SELECT addr.address.name
    FROM VALUES (named_struct('address', named_struct('number', 5, 'name', 'Main St'),
                              'city', 'Springfield')) as t(addr);
  Main St

اسم الدالة

يحدد دالة. يمكن تأهيل الدالة باسم مخطط، أو غير مؤهلة باستخدام معرف بسيط.

بناء الجملة

[ schema_name . ] function_identifier

المعلمات

  • schema_name: اسم مخطط مؤهل أو غير مؤهل يحتوي على الدالة.
  • function_identifier: معرف يحدد اسم الدالة.

أمثلة

`math`.myplus

myplus

math.`myplus`

اسم المعلمة

يحدد معلمة في نص الدالة SQL المعرفة من قبل المستخدم (SQL UDF). يمكن تأهيل الدالة باستخدام معرف دالة، أو غير مؤهلة باستخدام معرف بسيط.

بناء الجملة

[ function_identifier . ] parameter_identifier

المعلمات

أمثلة

CREATE FUNCTION area(x INT, y INT) RETURNS INT
RETURN area.x + y;

الاسم المستعار للجدول

تسمية مرجع جدول أو استعلام أو دالة جدول أو أي شكل آخر من أشكال العلاقة.

بناء الجملة

[ AS ] table_identifier [ ( column_identifier1 [, ...] ) ]

المعلمات

إذا قمت بتوفير معرفات الأعمدة، فيجب أن يتطابق رقمها مع عدد الأعمدة في العلاقة المتطابقة.

إذا لم تقم بتوفير معرفات الأعمدة، توريث أسمائها من العلاقة المسماة.

أمثلة

> SELECT a, b FROM VALUES (1, 2) AS t(a, b);
 a  b
 1  2

> DELETE FROM emp AS e WHERE e.c1 = 5;

الاسم المستعار للعمود

تسمية نتيجة تعبير في قائمة للرجوع إليها .

إذا كان التعبير عبارة عن دالة مولد ذات قيمة جدولية، فإن الاسم المستعار يقوم بتسمية قائمة الأعمدة المنتجة.

بناء الجملة

[AS] column_identifier
[AS] ( column_identifier [, ...] )

المعلمات

على الرغم من أن الأسماء المستعارة للأعمدة لا يلزم أن تكون فريدة داخل قائمة التحديد، إلا أن التفرد هو شرط للإشارة إلى اسم مستعار بالاسم.

أمثلة

> SELECT 1 AS a;
 a
 1

> SELECT 1 a, 2 b;
 a b
 1 2

> SELECT 1 AS `a`;
 a
 1

> SELECT posexplode(array(2)) AS (i, a);
 i  a
 0  2

> SELECT a + a FROM (SELECT 1 AS a);
 a
 2

اسم بيانات الاعتماد

يحدد بيانات اعتماد للوصول إلى التخزين في موقع خارجي.

بناء الجملة

credential_identifier

المعلمات

  • credential_identifier: معرف غير مؤهل يحدد بيانات الاعتماد بشكل فريد.

أمثلة

اسم الموقع

يحدد موقع تخزين خارجي.

بناء الجملة

location_identifier

المعلمات

أمثلة

`s3-json-data`

s3_json_data

اسم المشاركة

يحدد مشاركة للوصول إلى البيانات التي يشاركها موفر الخدمة.

بناء الجملة

share_identifier

المعلمات

  • share_identifier: معرف غير مؤهل يحدد الحصة بشكل فريد.

أمثلة

`public info`

`public-info`

public_info

اسم المستلم

يحدد مستلم للمشاركة.

بناء الجملة

recipient_identifier

المعلمات

  • recipient_identifier: معرف غير مؤهل يحدد هوية المستلم بشكل فريد.

أمثلة

`Good Corp`

`Good-corp`

Good_Corp