บทนำการส่งออกข้อมูล

นี่คือบริการที่ดึงข้อมูลบันทึกมา Hive วิเคราะห์ทุกชั่วโมงและถ่ายโอนไปยังที่เก็บข้อมูลบนคลาวด์

ข้อมูลที่สร้างโดยการส่งออกข้อมูลสามารถใช้เพื่อการวิเคราะห์ได้ตามต้องการ ไม่ว่าจะโดยการสร้างฐานข้อมูลโดยตรงเป็นข้อมูลดิบหรือโดยการประมวลผลเป็นรูปแบบที่จำเป็น

Hive Analytics นำเสนอการแปลงไฟล์และการถ่ายโอนข้อมูล อย่างไรก็ตาม พื้นที่เก็บข้อมูลบนคลาวด์จำเป็นต้องลงทะเบียนกับผู้ให้บริการคลาวด์ที่คุณใช้อยู่

ลอจิกการส่งออกข้อมูล

 

ทุกชั่วโมง ตาราง BigQuery จะถูกแปลงเป็นไฟล์ตามรอบการส่งออกข้อมูล และอัปโหลดไปยังพื้นที่เก็บข้อมูลบนคลาวด์ที่ลงทะเบียนไว้

สิทธิ์บริการส่งออกข้อมูล

  • หากต้องการใช้ฟังก์ชันส่งออกข้อมูล คุณต้องมีสิทธิ์เข้าถึงเกมทั้งหมดหรือเป็นเจ้าของ Hive บัญชี
    • เนื่องจากข้อมูลถูกส่งโดยตาราง (บันทึก) จึงไม่สามารถแยกการส่งข้อมูลตามเกมได้

เกณฑ์ข้อมูลการส่งออกข้อมูล

  • ค้นหาข้อมูลตารางที่เลือกและอัปโหลดไฟล์ไปยังที่เก็บข้อมูลบนคลาวด์
  • ข้อมูลจะถูกดึงออกมาโดยใช้รอบการส่งข้อมูลรายชั่วโมงตาม UTC.
    เช่น) แยกข้อมูลวันที่ 1 กันยายน 2023 00:00:00 – 00:59:59 น. (UTC) วันที่ 1 กันยายน 2023 เวลา 1:00 น. (UTC).

    • มาตรฐานการแบ่งพาร์ติชันสำหรับคอลัมน์ datetime ถูกตั้งค่าเป็นวันที่ดูลบหนึ่งวัน
      เช่น) วันที่ 30 สิงหาคม 2023 เวลา 00:00:00 น. เมื่อดึงข้อมูลตั้งแต่วันที่ 1 กันยายน 2023 เวลา 00:00:00 น. ถึง 00:59:59 น. (UTC).

      • หากค่าของวันที่และเวลาน้อยกว่าเวลาในการสืบค้นลบหนึ่งวัน ค่าดังกล่าวจะถูกแยกออกจากข้อมูลการส่งออก
  • ข้อมูลจะถูกค้นหาตามเวลาที่ป้อนลงใน Big Query
    • เกณฑ์คอลัมน์ bigqueryRegistTimestamp
    • แบบสอบถามตัวอย่างการแยกข้อมูล
      SELECT * จาก bigquery_table โดยที่ bigqueryRegistTimestamp BETWEEN '2023-09-01 00:00:00' และ '2023-09-01 00:59:59' และ datetime >= '2023-08-31 00:00:00'

การตั้งค่าการส่งออกข้อมูล

  • เลือกบันทึก

    • เลือกตาราง (บันทึก) ที่จะแยก
      • คุณสามารถค้นหาและเลือกโดยป้อนส่วนหนึ่งของชื่อตาราง
      • คุณสามารถเลือกได้ถึงสิบตาราง
  • เลือกที่เก็บข้อมูล

    • คุณต้องใช้ที่เก็บข้อมูลบนคลาวด์เพื่อจัดเก็บข้อมูลของคุณ
    • คลาวด์ที่รองรับ
      • AWS S3
      • ที่เก็บข้อมูลบนคลาวด์ของ Google GCP
  • ที่ตั้ง (ชื่อถัง)

    • ป้อนชื่อบัคเก็ตของพื้นที่เก็บข้อมูล
    • เช่น)
      • หากชื่อบัคเก็ต AWS S3 คือ s3://s3_bucket_name
        • ป้อนเฉพาะ 's3_bucket_name'
      • ถ้า Google ชื่อบัคเก็ต Cloud Storage คือ gs://google_bucket_name
        • ใส่เฉพาะ 'google_bucket_name' เท่านั้น
  • ประเภทข้อมูล

    • มีข้อมูลสองประเภท
    • ประเภทข้อมูลที่ให้ไว้
      • CSV
      • JSON
    • ไฟล์ทั้งหมดถูกเข้ารหัสในรูปแบบ UTF-8
  • รอบการอัพโหลดไฟล์

    • ข้อมูลจากช่วงรายชั่วโมงจะถูกดึงออกมาและอัพโหลดทุก ๆ ชั่วโมง
    • เวลาจะขึ้นอยู่กับค่าคอลัมน์ bigqueryRegistTimestamp สำหรับการแตกข้อมูล (ขึ้นอยู่กับ UTC)
      • เช่น) เริ่มแยกและอัพโหลดข้อมูลเวลา 15:00 น. (UTC).
        • คอลัมน์ bigqueryRegistTimestamp มีข้อมูลตั้งแต่ 05:00:00 ถึง 05:59:59 น.
      • เวลาที่เสร็จสมบูรณ์อาจแตกต่างกันไปขึ้นอยู่กับจำนวนไฟล์และขนาดอัพโหลด
  • ลงทะเบียนคีย์การรับรองความถูกต้อง

    • จำเป็นต้องได้รับอนุญาตในการอัปโหลดข้อมูลไปยังที่เก็บข้อมูลบนคลาวด์
    • คุณต้องลงทะเบียนคีย์การรับรองความถูกต้องหรือไฟล์คีย์การรับรองความถูกต้องด้วยสิทธิ์การจัดเก็บข้อมูล
    • เทคนิคการลงทะเบียนคีย์การรับรองความถูกต้องแตกต่างกันไปตามบริการคลาวด์
        • S3 – ACCESS_KEY, ACCESS_SECRET_KEY ลงทะเบียนค่าการตรวจสอบสิทธิ์
        • GCS – ลงทะเบียนไฟล์คีย์การตรวจสอบสิทธิ์

การจัดเก็บเมฆ

  • จีซีพี – Google การจัดเก็บเมฆ

    • เพื่อส่งออกข้อมูลไปที่ Google Cloud จำเป็นต้องมีการกำหนดค่าต่อไปนี้
    1. ไปที่ Google หน้า Cloud Console แล้วเลือก การจัดเก็บเมฆ.
    2. สร้าง ถัง เพียงเพื่อการส่งออกข้อมูล
      1. เมื่อตั้งค่าแล้ว จะไม่สามารถแก้ไขชื่อที่เก็บข้อมูลได้ หากจำเป็น ให้ลบที่เก็บข้อมูลเก่าและสร้างที่เก็บข้อมูลใหม่
      2. ขอแนะนำให้สร้างบัคเก็ตสำหรับการส่งออกข้อมูลโดยเฉพาะ
    3. หากต้องการเปิดใช้การส่งออกข้อมูล ให้สร้างคีย์บริการและให้สิทธิ์เขียนแก่ที่เก็บข้อมูล
      1. เลือก IAM และผู้ดูแลระบบ → บัญชีบริการจากหน้าคอนโซล
      2. หากต้องการตั้งค่าบัญชีใหม่ คลิก สร้างบัญชีบริการ.
        1. คุณสามารถให้ ID บัญชีของคุณตรงกับชื่อที่คุณต้องการได้
          1. เช่น) บัญชีการโอนข้อมูลไฮฟ์@projectId.iam.gserviceaccount.com
        2. หลังจากสร้างบัญชีแล้ว ให้ไปที่แท็บคีย์และสร้างคีย์สำหรับบริการ

          1. สร้างไฟล์คีย์ในรูปแบบ JSON จาก Add Key → Create New Key
          2. หลังจากดาวน์โหลดไฟล์คีย์ที่สร้างขึ้นแล้ว ให้เก็บไว้อย่างปลอดภัย
      3. ต่อไปกลับมาที่ การจัดเก็บเมฆ และย้ายไปที่แท็บสิทธิ์ใน ถัง คุณสร้าง

        1. ในแท็บสิทธิ์ ให้ป้อน ID บัญชีบริการที่สร้างขึ้นใหม่ใน Grant Access → เพิ่มสมาชิกหลัก
        2. ในการกำหนดบทบาท ให้ตรวจสอบสิทธิ์สองรายการ: Cloud Storage → ผู้สร้างออบเจ็กต์การจัดเก็บข้อมูล และ โปรแกรมดูออบเจ็กต์การจัดเก็บข้อมูลจากนั้นคลิกตกลง
    4. หลังจากคุณตั้งค่าทั้งหมดเสร็จแล้ว ให้ไปที่ Hive หน้าการตั้งค่าการส่งออกข้อมูลของ Analytics และลงทะเบียนไฟล์คีย์ของบริการ
  • AWS – S3

    • หากต้องการส่งออกข้อมูลไปยัง AWS จำเป็นต้องมีการกำหนดค่าต่อไปนี้
    1. ไปที่พื้นที่จัดเก็บ → S3 ในคอนโซล AWS
    2. สร้างที่เก็บข้อมูลสำหรับการส่งออกข้อมูล
      1. เมื่อตั้งค่าแล้ว จะไม่สามารถแก้ไขชื่อที่เก็บข้อมูลได้ หากจำเป็น ให้ลบที่เก็บข้อมูลเก่าและสร้างที่เก็บข้อมูลใหม่
      2. ขอแนะนำให้สร้างบัคเก็ตสำหรับการส่งออกข้อมูลโดยเฉพาะ
    3. สร้างที่เก็บข้อมูลสำหรับการส่งออกข้อมูล
      1. ผู้ใช้รายนี้ควรใช้เป็นบัญชีแบบสแตนด์อโลนสำหรับการส่งออกข้อมูลเท่านั้น สร้างใหม่ ผู้ใช้ IAM.
    4. สร้างรหัสการเข้าถึงสำหรับบัญชีที่คุณสร้างขึ้น ข้อมูลที่เกี่ยวข้องสามารถพบได้ใน จัดการคีย์การเข้าถึงของผู้ใช้ IAM – สร้างคีย์การเข้าถึง.
      1. เก็บคีย์การเข้าถึงของคุณไว้ในตำแหน่งที่ปลอดภัย
    5. เพิ่ม นโยบายอินไลน์ สำหรับบัญชีที่สร้างขึ้น
      1. หากต้องการรวมนโยบายอินไลน์สำหรับกลุ่มผู้ใช้ (คอนโซล) ให้ทำตามขั้นตอนในหัวข้อการสร้างนโยบาย
      2. หากต้องการกำหนดนโยบาย ให้เลือกแท็บ JSON แล้ววางโค้ด JSON ที่แสดงด้านล่าง

        1. ช่อง YOUR-BUCKET-NAME-HERE จะมีชื่อของบัคเก็ตที่คุณสร้างขึ้น
    6. เมื่อคุณทำทุกอย่างเสร็จเรียบร้อยแล้ว ให้เพิ่มรหัสการเข้าถึงที่เก็บถาวรลงใน Hive ตัวเลือกการส่งออกข้อมูลคอนโซล

รูปแบบการจัดเก็บไฟล์

  • โครงสร้างไดเร็กทอรีการจัดเก็บข้อมูล

    • รูปแบบไฟล์ทั่วไป
      • withhive/data_export/Build_Type/YYYY/MM/DD/TableName/TableName_YYYY_MM_DD_UUID.fileExtension
        • ประเภทบิลด์: มีสองค่าที่เป็นไปได้: แซนด์บ็อกซ์และสด เมื่อตั้งค่าเป็นแซนด์บ็อกซ์ ระบบจะบันทึกเป็นแซนด์บ็อกซ์
        • ปปปป/ดด/วว : นี่คือปี/เดือน/วันมาตรฐานที่ดึงข้อมูล (ขึ้นอยู่กับ UTC)
        • UUID : นี่คือค่าสุ่มที่ป้องกันการเขียนทับเนื่องจากชื่อไฟล์ที่ซ้ำกัน
        • นามสกุลไฟล์: แตกต่างกันไปตามประเภทไฟล์ที่เลือก

ชนิดของไฟล์ สถานะการบีบอัด ชื่อไฟล์สุดท้าย
JSON V withhive/data_export/BuildType/YYYY/MM/DD/TableName/TableName_YYYY_MM_DD_UUID.json.gzip
CSV V withhive/data_export/BuildType/YYYY/MM/DD/TableName/TableName_YYYY_MM_DD_UUID.csv.gzip
  • ส่วนขยายของไฟล์

    • csv.gzip
      • นี่คือไฟล์ที่มีข้อมูลโดยมีฟิลด์คั่นด้วยเครื่องหมายจุลภาค
      • ไม่สามารถใช้การตั้งค่าการเข้ารหัสเมื่อทำการบีบอัดไฟล์ (ไม่รองรับ)
    • json.gzip
      • นี่คือไฟล์ที่มีอักขระข้อมูลที่จัดอยู่ใน Javaไวยากรณ์อ็อบเจ็กต์สคริปต์
      • มันถูกแยกออกเป็นเส้น
      • เป็นไฟล์ json ที่บีบอัดด้วย gzip
      • ไม่สามารถใช้การตั้งค่าการเข้ารหัสเมื่อทำการบีบอัดไฟล์ (ไม่รองรับ)

ประกาศเกี่ยวกับขีดจำกัดการส่งข้อมูล

  • ขีดจำกัดจำนวนตารางสูงสุด
    • ตารางที่เลือกได้สูงสุด: 10
  • แยกขีดจำกัดความจุรวมของข้อมูลตามตาราง
    • เกิน 500Mbytes เมื่อแยกข้อมูล: ไม่รวมอยู่ในการส่ง
      • ข้อมูลที่ถ่ายโอนจริงเป็นไฟล์บีบอัดประมาณ 15%