ونحن مؤخرا أعلن دعم تكوين بحيرة AWS سياسات التحكم في الوصول الدقيقة في أمازون أثينا استعلامات عن البيانات المخزنة في أي تنسيق ملف مدعوم باستخدام تنسيقات الجدول مثل Apache Iceberg و Apache Hudi و Apache Hive. يتيح لك AWS Lake Formation تحديد وتنفيذ سياسات الوصول إلى قاعدة البيانات والجدول والأعمدة للاستعلام عن جداول Iceberg المخزنة في Amazon S3. يوفر Lake Formation طبقة تخويل وحوكمة على البيانات المخزنة في Amazon S3. تتطلب هذه الإمكانية الترقية إلى إصدار محرك أثينا 3.
غالبًا ما يكون لدى المؤسسات الكبيرة خطوط أعمال (LoBs) تعمل باستقلالية في إدارة بيانات أعمالها. يجعل مشاركة البيانات عبر LoBs غير تافهة. تبنت هذه المنظمات نموذجًا متحدًا ، مع تمتع كل LoB بالاستقلالية لاتخاذ قرارات بشأن بياناتها. يستخدمون نموذج الناشر / المستهلك مع طبقة إدارة مركزية تُستخدم لفرض ضوابط الوصول. إذا كنت مهتمًا بمعرفة المزيد حول بنية شبكة البيانات ، فتفضل بزيارة صمم بنية شبكة بيانات باستخدام AWS Lake Formation و AWS Glue. مع الإصدار 3 من محرك Athena ، يمكن للعملاء استخدام نفس عناصر التحكم الدقيقة لأطر البيانات المفتوحة مثل Apache Iceberg و Apache Hudi و Apache Hive.
في هذا المنشور ، نتعمق في حالة الاستخدام حيث يكون لديك نموذج منتج / مستهلك مع تمكين مشاركة البيانات لمنح وصول مقيد إلى جدول Apache Iceberg الذي يمكن للمستهلك الاستعلام عنه. سنناقش تصفية العمود لتقييد صفوف معينة ، والتصفية لتقييد الوصول إلى مستوى العمود ، وتطور المخطط ، والسفر عبر الزمن.
حل نظرة عامة
لتوضيح وظيفة الأذونات الدقيقة لجداول Apache Iceberg مع Athena و Lake Formation ، قمنا بإعداد المكونات التالية:
- في حساب المنتج:
- An غراء AWS كتالوج البيانات لتسجيل مخطط جدول بتنسيق Apache Iceberg
- Lake Formation لتوفير وصول دقيق إلى حساب المستهلك
- أثينا للتحقق من البيانات من حساب المنتج
- في حساب المستهلك:
- مدير الوصول إلى موارد AWS (AWS RAM) لإنشاء مصافحة بين كتالوج بيانات المنتج والمستهلك
- Lake Formation لتوفير وصول دقيق إلى حساب المستهلك
- أثينا للتحقق من البيانات من حساب المنتج
يوضح الرسم البياني التالي العمارة.
المتطلبات الأساسية المسبقة
قبل أن تبدأ ، تأكد من أن لديك ما يلي:
إعداد منتج البيانات
في هذا القسم ، نقدم خطوات إعداد منتج البيانات.
أنشئ حاوية S3 لتخزين بيانات الجدول
نقوم بإنشاء دلو S3 جديد لحفظ البيانات للجدول:
- على وحدة تحكم Amazon S3 ، إنشاء دلو S3 باسم فريد (نستخدم في هذا المنشور
iceberg-athena-lakeformation-blog
). - قم بإنشاء مجلد المنتج داخل الحاوية لاستخدامه في الجدول.
سجل مسار S3 الذي يخزن الجدول باستخدام Lake Formation
نسجل المسار الكامل S3 في Lake Formation:
- انتقل إلى وحدة تحكم تشكيل البحيرة.
- إذا كنت تقوم بتسجيل الدخول لأول مرة ، فستتم مطالبتك بإنشاء مستخدم مسؤول.
- في جزء التنقل ، أسفل التسجيل والاستيعاب، اختر مواقع بحيرة البيانات.
- اختار تسجيل الموقع، وقم بتوفير مسار الحاوية S3 الذي قمت بإنشائه مسبقًا.
- اختار
AWSServiceRoleForLakeFormationDataAccess
For دور IAM.
للحصول على معلومات إضافية حول الأدوار ، راجع متطلبات الأدوار المستخدمة لتسجيل المواقع.
إذا قمت بتمكين تشفير حاوية S3 الخاصة بك ، فيجب عليك توفير أذونات لـ Lake Formation لإجراء عمليات التشفير وفك التشفير. تشير إلى تسجيل موقع Amazon S3 مشفر للارشاد.
- اختار تسجيل الموقع.
قم بإنشاء جدول Iceberg باستخدام Athena
لنقم الآن بإنشاء الجدول باستخدام Athena المدعومة بتنسيق Apache Iceberg:
- في وحدة تحكم أثينا ، اختر محرر الاستعلام في جزء التنقل.
- إذا كنت تستخدم Athena لأول مرة ، فسيكون أقل من الإعدادات، اختر إدارة وأدخل موقع حاوية S3 الذي أنشأته مسبقًا (
iceberg-athena-lakeformation-blog/producer
). - اختار حفظ.
- في محرر الاستعلام ، أدخل الاستعلام التالي (استبدل الموقع بحاوية S3 التي قمت بتسجيلها في Lake Formation). لاحظ أننا نستخدم قاعدة البيانات الافتراضية ، ولكن يمكنك استخدام أي قاعدة بيانات أخرى.
- اختار يجري.
شارك الجدول مع حساب المستهلك
لتوضيح الوظيفة ، نقوم بتنفيذ السيناريوهات التالية:
- توفير الوصول إلى الأعمدة المحددة
- قم بتوفير الوصول إلى الصفوف المحددة بناءً على عامل التصفية
أكمل الخطوات التالية:
- في وحدة التحكم Lake Formation ، في جزء التنقل الموجود أسفل كتالوج البيانات، اختر مرشحات البيانات.
- اختار إنشاء مرشح جديد.
- في حالة اسم عامل تصفية البيانات، أدخل
blog_data_filter
. - في حالة قاعدة البيانات الهدف، أدخل
lf-demo-db
. - في حالة الجدول الهدف، أدخل
consumer_iceberg
. - في حالة وصول على مستوى العمود، حدد قم بتضمين الأعمدة.
- اختر الأعمدة التي تريد مشاركتها مع المستهلك:
country, address, contactfirstname, city, customerid,
وcustomername
. - في حالة تعبير مرشح الصف، أدخل عامل التصفية
country='France'
. - اختار إنشاء مرشح.
الآن دعنا نمنح حق الوصول إلى حساب المستهلك على consumer_iceberg
الجدول.
- في جزء التنقل ، اختر طاولات الطعام.
- حدد جدول Consumer_iceberg ، واختر منحة على الإجراءات القائمة.
- أختار الحسابات الخارجية.
- أدخل معرف الحساب الخارجي.
- أختار موارد كتالوج البيانات المسماة.
- اختر قاعدة البيانات والجدول.
- في حالة مرشحات البيانات، اختر عامل تصفية البيانات الذي قمت بإنشائه.
- في حالة أذونات تصفية البيانات و الأذونات الممنوحة، حدد أختار.
- اختار منحة.
إعداد مستهلك البيانات
لإعداد مستهلك البيانات ، نقبل مشاركة الموارد وننشئ جدولًا باستخدام AWS RAM و Lake Formation. أكمل الخطوات التالية:
- سجّل الدخول إلى حساب المستهلك وانتقل إلى وحدة تحكم AWS RAM.
- تحت شارك معي في جزء التنقل ، اختر مشاركات الموارد.
- اختر حصة الموارد الخاصة بك.
- اختار قبول حصة الموارد.
- لاحظ اسم مشاركة المورد لاستخدامه في الخطوات التالية.
- انتقل إلى وحدة تحكم تشكيل البحيرة.
- إذا كنت تقوم بتسجيل الدخول لأول مرة ، فستتم مطالبتك بإنشاء مستخدم مسؤول.
- اختار قواعد بيانات في جزء التنقل ، ثم اختر قاعدة البيانات الخاصة بك.
- على الإجراءات القائمة، اختر إنشاء ارتباط الموارد.
- في حالة اسم ارتباط المورد، أدخل اسم رابط المورد الخاص بك (على سبيل المثال ،
consumer_iceberg
). - اختر قاعدة البيانات الخاصة بك والجدول المشترك.
- اختار إنشاء.
تحقق من صحة الحل
يمكننا الآن تشغيل عمليات مختلفة على الجداول للتحقق من صحة عناصر التحكم في الوصول الدقيقة.
أدخل العملية
دعنا ندخل البيانات في ملف consumer_iceberg
الجدول في حساب المنتج ، والتحقق من صحة أعمال تصفية البيانات كما هو متوقع في حساب المستهلك.
- قم بتسجيل الدخول إلى حساب المنتج.
- في وحدة تحكم أثينا ، اختر محرر الاستعلام في جزء التنقل.
- استخدم SQL التالي لكتابة البيانات وإدراجها في جدول Iceberg. استخدم محرر الاستعلام لتشغيل استعلام واحد في كل مرة. يمكنك تحديد / تحديد استعلام واحد في كل مرة والنقر فوق "تشغيل" / "تشغيل مرة أخرى:
- استخدم SQL التالي لقراءة البيانات وتحديدها في جدول Iceberg:
- قم بتسجيل الدخول إلى حساب المستهلك.
- في محرر استعلام Athena ، قم بتشغيل استعلام SELECT التالي في الجدول المشترك:
استنادًا إلى المرشحات ، يمكن للمستهلك رؤية مجموعة فرعية من الأعمدة والصفوف حيث تكون الدولة هي فرنسا.
عمليات التحديث / الحذف
لنقم الآن بتحديث أحد الصفوف وحذف أحد الصفوف من مجموعة البيانات المشتركة مع المستهلك.
- تحقق من مجموعة البيانات المحدثة والمحذوفة:
- قم بتسجيل الدخول إلى حساب المستهلك.
- في محرر استعلام Athena ، قم بتشغيل استعلام SELECT التالي في الجدول المشترك:
يمكننا أن نلاحظ أن صفًا واحدًا متاحًا ويتم تحديث المدينة إلى باريس.
تطور المخطط: أضف عمودًا جديدًا
دعنا نحدِّث أحد الصفوف ونحذف واحدًا من مجموعة البيانات المشتركة مع المستهلك.
- قم بتسجيل الدخول إلى حساب المنتج.
- أضف عمودًا جديدًا يسمى
geo_loc
في طاولة جبل الجليد. استخدم محرر الاستعلام لتشغيل استعلام واحد في كل مرة. يمكنك تحديد / تحديد استعلام واحد في كل مرة والنقر فوق "تشغيل" / "تشغيل مرة أخرى:
لتوفير الرؤية المضافة حديثًا geo_loc
العمود ، نحتاج إلى تحديث عامل تصفية بيانات Lake Formation.
- في وحدة التحكم Lake Formation ، اختر مرشحات البيانات في جزء التنقل.
- حدد مرشح البيانات الخاص بك واختر تعديل.
- تحت وصول على مستوى العمود، أضف العمود الجديد (
geo_loc
). - اختار حفظ.
- قم بتسجيل الدخول إلى حساب المستهلك.
- في محرر استعلام أثينا ، قم بتشغيل ما يلي
SELECT
الاستعلام على الجدول المشترك:
العمود الجديد geo_loc
مرئي وصف إضافي.
تطور المخطط: حذف العمود
دعنا نحدِّث أحد الصفوف ونحذف واحدًا من مجموعة البيانات المشتركة مع المستهلك.
- قم بتسجيل الدخول إلى حساب المنتج.
- قم بتعديل الجدول لإسقاط عمود العنوان من جدول Iceberg. استخدم محرر الاستعلام لتشغيل استعلام واحد في كل مرة. يمكنك تحديد / تحديد استعلام واحد في كل مرة والنقر فوق "تشغيل" / "تشغيل مرة أخرى:
يمكننا ملاحظة أن عنوان العمود غير موجود في الجدول.
- قم بتسجيل الدخول إلى حساب المستهلك.
- في محرر استعلام Athena ، قم بتشغيل استعلام SELECT التالي في الجدول المشترك:
عنوان العمود غير موجود في الجدول.
السفر عبر الزمن
لقد قمنا الآن بتغيير طاولة Iceberg عدة مرات. الجدول Iceberg يتتبع اللقطات. أكمل الخطوات التالية لاستكشاف وظيفة السفر عبر الزمن:
- قم بتسجيل الدخول إلى حساب المنتج.
- استعلم عن جدول النظام:
يمكننا أن نلاحظ أننا أنشأنا لقطات متعددة.
- دوِّن أحد ملفات
committed_at
القيم المطلوب استخدامها في الخطوات التالية (على سبيل المثال ،2023-01-29 21:35:02.176 UTC
). - استخدم السفر عبر الزمن للعثور على لقطة الجدول. استخدم محرر الاستعلام لتشغيل استعلام واحد في كل مرة. يمكنك تحديد / تحديد استعلام واحد في كل مرة والنقر فوق "تشغيل" / "تشغيل مرة أخرى:
تنظيف
أكمل الخطوات التالية لتجنب تكبد رسوم في المستقبل:
- في وحدة التحكم Amazon S3 ، احذف حاوية تخزين الجدول (لهذا المنشور ، iceberg-athena-lakeformation-blog).
- في حساب المنتج على وحدة تحكم Athena ، قم بتشغيل الأوامر التالية لحذف الجداول التي قمت بإنشائها:
- في حساب المنتج على وحدة التحكم Lake Formation ، قم بإبطال الأذونات لحساب المستهلك.
- احذف حاوية S3 المستخدمة لموقع نتيجة استعلام أثينا من حساب المستهلك.
وفي الختام
من خلال دعم الحسابات المتقاطعة وسياسات التحكم في الوصول الدقيقة لتنسيقات مثل Iceberg ، تتمتع بالمرونة للعمل مع أي تنسيق تدعمه Athena. توفر القدرة على تنفيذ عمليات CRUD مقابل البيانات الموجودة في بحيرة بيانات S3 جنبًا إلى جنب مع عناصر التحكم في الوصول الدقيقة لجميع الجداول والتنسيقات التي تدعمها Athena فرصًا للابتكار وتبسيط إستراتيجية البيانات الخاصة بك. يسعدنا سماع ملاحظاتك!
عن المؤلفين
كيشور داموداران هو مهندس حلول أول في AWS. يساعد Kishore العملاء الاستراتيجيين في إستراتيجية المؤسسة السحابية ورحلة الترحيل ، مستفيدًا من سنوات خبرته في الصناعة والسحابة.
جاك يي هو مهندس برمجيات في فريق Athena Data Lake and Storage في AWS. وهو عضو في Apache Iceberg Committer وعضو PMC.
كريس أولسون هو مهندس تطوير برمجيات في AWS.
شياو شيوان لي هو مهندس تطوير برمجيات في AWS.
راهول سوناوان هو مهندس حلول تحليلات رئيسي في AWS مع الذكاء الاصطناعي / التعلم الآلي والتحليلات كمجال تخصصه.
- محتوى مدعوم من تحسين محركات البحث وتوزيع العلاقات العامة. تضخيم اليوم.
- بلاتوبلوكشين. Web3 Metaverse Intelligence. تضخيم المعرفة. الوصول هنا.
- المصدر https://aws.amazon.com/blogs/big-data/interact-with-apache-iceberg-tables-using-amazon-athena-and-cross-account-fine-grained-permissions-using-aws-lake-formation/
- :يكون
- $ UP
- 1
- 10
- 100
- 7
- a
- القدرة
- من نحن
- استمر
- الوصول
- حسابي
- في
- وأضاف
- إضافي
- معلومات اضافية
- العنوان
- مشرف
- اعتمد
- ضد
- AI / ML
- الكل
- يسمح
- أمازون
- أمازون أثينا
- تحليلات
- و
- أباتشي
- هندسة معمارية
- هي
- المنطقة
- فنـون
- AS
- At
- ترخيص
- متاح
- تجنب
- AWS
- تكوين بحيرة AWS
- المدعومة
- على أساس
- ما بين
- الأعمال
- الأعمال
- by
- تسمى
- CAN
- الأقسام
- مركزية
- معين
- تغيير
- اسعارنا محددة من قبل وزارة العمل
- اختار
- المدينة
- انقر
- سحابة
- عمود
- الأعمدة
- COM
- الجمع بين
- إكمال
- مكونات
- كنسولات
- مستهلك
- مراقبة
- ضوابط
- البلد
- خلق
- خلق
- خلق
- خلق
- عبر
- العملاء
- البيانات
- بحيرة البيانات
- تبادل البيانات
- استراتيجية البيانات
- قاعدة البيانات
- القرارات
- عميق
- غوص عميق
- الترتيب
- التطوير التجاري
- مختلف
- بحث
- إلى أسفل
- قطرة
- كل
- في وقت سابق
- رئيس التحرير
- البريد الإلكتروني
- EMEA
- تمكين
- مشفرة
- التشفير
- محرك
- مهندس
- أدخل
- مشروع
- الأثير (ETH)
- تطور
- مثال
- متوقع
- الخبره في مجال الغطس
- اكتشف
- خارجي
- قم بتقديم
- تصفية
- تصفية
- مرشحات
- الاسم الأول
- لأول مرة
- مرونة
- متابعيك
- في حالة
- شكل
- تشكيل
- الأطر
- فرنسا
- تبدأ من
- بالإضافة إلى
- وظيفة
- مستقبل
- ولدت
- دولار فقط واحصل على خصم XNUMX% على جميع
- منح
- الحكم
- منح
- توجيه
- يملك
- وجود
- سماع
- يساعد
- خلية النحل
- HTML
- HTTP
- HTTPS
- ID
- تنفيذ
- in
- Inc.
- العالمية
- معلومات
- الابتكار
- تفاعل
- يستفد
- IT
- رحلة
- JPG
- بحيرة
- البلد
- طبقة
- تعلم
- مستوى
- الاستفادة من
- مما سيحدث
- خطوط
- LINK
- موقع
- حب
- ليون
- جعل
- يصنع
- إدارة
- عضو
- القائمة
- هجرة
- نموذج
- الأكثر من ذلك
- متعدد
- الاسم
- التنقل
- قائمة الإختيارات
- حاجة
- جديد
- التالي
- مدينة نيويورك
- رصد
- of
- on
- ONE
- جاكيت
- بيانات مفتوحة
- طريقة التوسع
- عمليات
- الفرص
- المنظمات
- أخرى
- خبز
- باريس
- مسار
- نفذ
- أذونات
- أفلاطون
- الذكاء افلاطون البيانات
- أفلاطون داتا
- سياسات الخصوصية والبيع
- منشور
- يقدم
- رئيسي
- منتج
- تزود
- ويوفر
- رامات
- عرض
- مؤخرا
- عكست
- تسجيل جديد
- مسجل
- يحل محل
- يتطلب
- مورد
- بتقييد
- مقيد
- نتيجة
- النوع
- الأدوار
- صف
- يجري
- نفسه
- حفظ
- سيناريوهات
- القسم
- مختار
- كبير
- طقم
- مشاركة
- شاركت
- مشاركة
- تبسيط
- لقطة
- تطبيقات الكمبيوتر
- تطوير البرمجيات
- مهندس البرمجيات
- الحلول
- تخصص
- SQL
- بدأت
- خطوات
- تخزين
- متجر
- تخزين
- إستراتيجي
- الإستراتيجيات
- خيط
- هذه
- الدعم
- مدعومة
- نظام
- جدول
- فريق
- أن
- •
- من مشاركة
- تشبه
- الوقت
- وقت السفر
- مرات
- الطابع الزمني
- إلى
- مسار
- سفر
- مع
- فريد من نوعه
- تحديث
- تحديث
- ترقية
- الولايات المتحدة الأميركية
- تستخدم
- مستخدم
- بالتوقيت العالمي
- التحقق من صحة
- القيم
- تحقق من
- الإصدار
- رؤية
- مرئي
- قم بزيارتنا
- مع
- للعمل
- أعمال
- اكتب
- سنوات
- حل متجر العقارات الشامل الخاص بك في جورجيا
- زفيرنت