تحميل البيانات

ينطبق على:التحقق الذي تم وضع علامة عليه نعم Databricks Runtime

تحميل البيانات في جدول Hive SerDe من الدليل أو الملف المحدد من قبل المستخدم. إذا تم تحديد دليل، فسيتم تحميل جميع الملفات من الدليل. إذا تم تحديد ملف، فسيتم تحميل الملف الفردي فقط. بالإضافة إلى ذلك، تأخذ العبارة LOAD DATA مواصفات قسم اختيارية. عند تحديد قسم، يتم تحميل ملفات البيانات (عندما يكون مصدر الإدخال دليلا) أو الملف الفردي (عندما يكون مصدر الإدخال ملفا) في قسم الجدول الهدف.

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

بناء الجمله

LOAD DATA [ LOCAL ] INPATH path [ OVERWRITE ] INTO TABLE table_name [ PARTITION clause ]

معلمات

  • مسار

    مسار نظام الملفات. يمكن أن يكون إما مسارا مطلقا أو نسبيا.

  • table_name

    يحدد الجدول الذي سيتم إدراجه فيه. يجب ألا يتضمن الاسم مواصفات زمنية. إذا تعذر العثور على الجدول، فإن Azure Databricks يثير خطأ TABLE_OR_VIEW_NOT_FOUND .

  • عبارة PARTITION

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

  • المحليه

    إذا تم تحديده، فإنه يؤدي INPATH إلى حل مقابل نظام الملفات المحلي، بدلا من نظام الملفات الافتراضي، والذي عادة ما يكون تخزينا موزعا.

  • الكتابه

    بشكل افتراضي، يتم إلحاق بيانات جديدة بالجدول. إذا OVERWRITE تم استخدام الجدول، بدلا من ذلك تتم الكتابة فوقه ببيانات جديدة.

امثله

-- Example without partition specification.
-- Assuming the students table has already been created and populated.
> SELECT * FROM students;
      name                address student_id
 --------- ---------------------- ----------
 Amy Smith 123 Park Ave, San Jose     111111

> CREATE TABLE test_load (name VARCHAR(64), address VARCHAR(64), student_id INT) USING HIVE;

-- Assuming the students table is in '/user/hive/warehouse/'
> LOAD DATA LOCAL INPATH '/user/hive/warehouse/students' OVERWRITE INTO TABLE test_load;

> SELECT * FROM test_load;
      name                address student_id
 --------- ---------------------- ----------
 Amy Smith 123 Park Ave, San Jose     111111

-- Example with partition specification.
> CREATE TABLE test_partition (c1 INT, c2 INT, c3 INT) PARTITIONED BY (c2, c3);

> INSERT INTO test_partition PARTITION (c2 = 2, c3 = 3) VALUES (1);

> INSERT INTO test_partition PARTITION (c2 = 5, c3 = 6) VALUES (4);

> INSERT INTO test_partition PARTITION (c2 = 8, c3 = 9) VALUES (7);

> SELECT * FROM test_partition;
  c1  c2  c3
 --- --- ---
   1   2   3
   4   5   6
   7   8   9

> CREATE TABLE test_load_partition (c1 INT, c2 INT, c3 INT) USING HIVE PARTITIONED BY (c2, c3);

-- Assuming the test_partition table is in '/user/hive/warehouse/'
> LOAD DATA LOCAL INPATH '/user/hive/warehouse/test_partition/c2=2/c3=3'
      OVERWRITE INTO TABLE test_load_partition PARTITION (c2=2, c3=3);

> SELECT * FROM test_load_partition;
  c1  c2  c3
 --- --- ---
   1   2   3