ข้ามไปที่เนื้อหา

ส่งออกข้อมูล

โครงร่าง

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

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

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

Note

เนื่องจากข้อมูลจัดทำโดยเหตุการณ์ จึงไม่รองรับการส่งแบบแยกตามโปรเจ็กต์


ทำอะไรได้บ้าง?

นักวิเคราะห์ข้อมูล

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

นักพัฒนา

  • คุณสามารถโหลดข้อมูลเหตุการณ์ Hive ลงในไปป์ไลน์ข้อมูลของคุณเองได้โดยอัตโนมัติ
  • ด้วยการเชื่อมโยงกับ AWS S3 หรือ GCP Cloud Storage คุณจะสามารถใช้ข้อมูลเหตุการณ์ล่าสุดทุก ๆ ชั่วโมงได้โดยตรงจากที่เก็บข้อมูลบนคลาวด์

เริ่มต้นอย่างรวดเร็ว

หากคุณกำลังตั้งค่าการส่งออกข้อมูลเป็นครั้งแรก ให้ทำตามขั้นตอนด้านล่างเพื่อผสานรวมที่เก็บข้อมูลบนคลาวด์ให้เสร็จสมบูรณ์

  1. สร้างบัคเก็ตเฉพาะสำหรับการส่งออกข้อมูลบนที่เก็บข้อมูลบนคลาวด์ที่คุณต้องการใช้ (AWS S3 หรือ GCP Cloud Storage) และเตรียมคีย์การรับรองความถูกต้อง
  2. เข้าถึงคอนโซล Analytics > ข้อมูล > การส่งออกข้อมูล การตั้งค่า
  3. เลือกเหตุการณ์ (บันทึก) ที่คุณต้องการแยก (สูงสุด 30)
  4. เลือกที่เก็บข้อมูล (AWS S3 / GCP Cloud Storage) และป้อนชื่อบัคเก็ต
  5. เลือกประเภทข้อมูล (CSV / JSON)
  6. ลงทะเบียนคีย์การรับรองความถูกต้อง

Note

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


ฟังก์ชั่นครบ

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

data_export_01.png

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

ขึ้นอยู่กับข้อมูล

  • ค้นหาข้อมูลเหตุการณ์ที่เลือกและถ่ายโอนไฟล์ไปยังที่เก็บข้อมูลบนคลาวด์
  • ข้อมูลจะถูกแยกตามรอบการส่งข้อมูลรายชั่วโมงตาม UTC
    • ตัวอย่าง) คัดลอกและส่งในเวลา 01:00 น. (UTC) ของวันที่ 1 กันยายน 2023 โดยอิงตามข้อมูลระหว่างเวลา 00:00:00 น. ถึง 00:59:59 น. (UTC) ของวันที่ 1 กันยายน 2023
    • มาตรฐานการแบ่งพาร์ติชันถูกกำหนดให้ดูวันที่ -1 day สำหรับแอตทริบิวต์ dateTime
    • ตัวอย่าง) เมื่อทำการแตกข้อมูลตามข้อมูลตั้งแต่เวลา 00:00:00 ถึง 00:59:59 น. (UTC) วันที่ 1 กันยายน 2566 เวลา 00:00:00 น. วันที่ 30 สิงหาคม 2566
    • หากค่าของ datetime น้อยกว่าเวลาในการดู -1 day ค่านั้นจะไม่รวมอยู่ในข้อมูลการส่งออก
  • ข้อมูลจะถูกค้นหาตามเวลาที่ป้อนข้อมูลลงใน Big Query
    • ขึ้นอยู่กับแอตทริบิวต์ bigqueryRegistTimestamp
    • การแยกข้อมูล sample Query
SELECT *
FROM bigquery_table
WHERE bigqueryRegistTimestamp BETWEEN '2023-09-01 00:00:00' and '2023-09-01 00:59:59'
and dateTime >= '2023-08-31 00:00:00'

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

data_export_02.png

เลือกกิจกรรม

เลือกเหตุการณ์ (บันทึก) ที่คุณต้องการแยก

  • คุณสามารถค้นหาและเลือกโดยป้อนส่วนหนึ่งของชื่อเหตุการณ์
  • สามารถเลือกได้ถึง 30 กิจกรรม

เลือกที่เก็บ

คุณควรใช้ที่เก็บข้อมูลบนคลาวด์เป็นที่เก็บข้อมูลของคุณ

คลาวด์ที่รองรับ:

  • AWS S3
  • GCP Google Cloud Storage

ที่ตั้ง (ชื่อถัง)

ป้อนชื่อที่เก็บข้อมูล (bucket)

  • 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): ข้อมูลตั้งแต่ 05:00:00 น. ถึง 05:59:59 น. จะถูกแยกจากคุณสมบัติ bigqueryRegistTimestamp
  • เวลาที่เสร็จสมบูรณ์อาจแตกต่างกันไปขึ้นอยู่กับจำนวนไฟล์และความจุในการอัพโหลด

ลงทะเบียนคีย์การรับรองความถูกต้อง

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

  • S3 — ลงทะเบียนค่า ACCESS_KEY, ACCESS_SECRET_KEY data_export_03.png
  • GCS — ลงทะเบียนไฟล์คีย์การตรวจสอบสิทธิ์ data_export_04.png

การตั้งค่าที่เก็บข้อมูลบนคลาวด์

GCP - Google Cloud Storage

หากต้องการส่งออกข้อมูลไปยัง Google Cloud จำเป็นต้องมีการตั้งค่าต่อไปนี้

  1. ในหน้า Google Cloud Console ให้ไปที่ Cloud Storage

    data_export_05.png

  2. สร้าง บัคเก็ต (bucket) เพื่อใช้สำหรับการส่งออกข้อมูลโดยเฉพาะ

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

    1. บนหน้าคอนโซล ไปที่ IAM และผู้ดูแลระบบ → เมนูบัญชีบริการ
    2. คลิก สร้างบัญชีบริการ เพื่อสร้างบัญชีใหม่
      • คุณสามารถสร้าง ID สำหรับบัญชีของคุณด้วยชื่อใดก็ได้ที่คุณต้องการ (ตัวอย่าง: hive_data_transfer_account@projectId.iam.gserviceaccount.com) data_export_06.png
      • หลังจากสร้างบัญชีแล้ว ให้ไปที่แท็บคีย์และสร้างคีย์สำหรับบริการ
      • สร้างไฟล์คีย์ในรูปแบบ JSON โดยเพิ่มคีย์ → สร้างคีย์ใหม่
      • เก็บไฟล์คีย์ที่สร้างขึ้นให้ปลอดภัยหลังจากดาวน์โหลด
    3. กลับไปที่ Cloud Storage และใน bucket(bucket) ที่คุณสร้างขึ้น ให้ไปที่แท็บสิทธิ์ data_export_07.png
      • ในแท็บสิทธิ์ ให้ป้อนบัญชีบริการที่สร้างขึ้นใหม่ ID ในสิทธิ์การเข้าถึง → เพิ่มสมาชิกหลัก
      • ในการกำหนดบทบาท ให้เพิ่มสิทธิ์สองรายการ Cloud Storage → Storage Object Creator, Storage Object Viewer จากนั้นคลิก OK
  4. หลังจากการตั้งค่าทั้งหมดเสร็จสิ้น ให้ลงทะเบียนไฟล์คีย์สำหรับบริการในหน้าการตั้งค่าการส่งออกข้อมูลของ Hive Analytics

AWS - S3

หากต้องการส่งออกข้อมูลไปยัง AWS จำเป็นต้องมีการตั้งค่าต่อไปนี้

  1. บนหน้าคอนโซล AWS ให้ไปที่ ที่เก็บข้อมูลS3 data_export_08.png
  2. สร้าง บัคเก็ต (bucket) สำหรับการส่งออกข้อมูลโดยเฉพาะ
    • ชื่อบัคเก็ตไม่สามารถเปลี่ยนแปลงได้เมื่อตั้งค่าแล้ว และหากจำเป็น จะต้องลบบัคเก็ตที่มีอยู่และสร้างใหม่
    • แนะนำให้ใช้เป็นที่เก็บข้อมูลเท่านั้น
  3. คุณจะต้องสร้างบัญชีเพื่อส่งออกข้อมูล
    • ผู้ใช้นี้ควรใช้เป็นบัญชีเฉพาะสำหรับการส่งออกข้อมูลเท่านั้น สร้าง IAM user ใหม่
  4. สร้างรหัสการเข้าถึงสำหรับบัญชีที่คุณสร้าง ข้อมูลที่เกี่ยวข้องสามารถพบได้ใน IAM การจัดการคีย์การเข้าถึงของผู้ใช้ - การสร้างคีย์การเข้าถึง
    • เก็บคีย์การเข้าถึงของคุณไว้ในที่ปลอดภัย
  5. เพิ่ม inline policy สำหรับบัญชีที่คุณสร้าง
    • อ้างถึงเพื่อรวมนโยบายอินไลน์สำหรับกลุ่มผู้ใช้ (คอนโซล) และสร้างนโยบาย
    • เลือกแท็บ JSON เพื่อสร้าง policy และวางโค้ด JSON ต่อไปนี้
    • รายการ YOUR-BUCKET-NAME-HERE ระบุชื่อบัคเก็ตที่สร้างขึ้น
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:GetBucketLocation", "s3:ListBucket"],
      "Resource": ["arn:aws:s3:::YOUR-BUCKET-NAME-HERE"]
    },
    {
      "Effect": "Allow",
      "Action": ["s3:PutObject"],
      "Resource": ["arn:aws:s3:::YOUR-BUCKET-NAME-HERE/*"]
    }
  ]
}
  1. หลังจากเสร็จสิ้น ให้เพิ่มคีย์การเข้าถึงที่คุณบันทึกไว้ในคอนโซล Analytics > ข้อมูล > การตั้งค่าการส่งออกข้อมูล

รูปแบบการบันทึกไฟล์

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

รูปแบบเส้นทางไฟล์ทั่วไป:

withhive/data_export/ประเภทบิลด์/YYYY/MM/DD/ชื่อเหตุการณ์/ชื่อเหตุการณ์_YYYY_MM_DD_UUID.นามสกุลไฟล์
  • ประเภทบิลด์: มีสองค่า: sandbox และ live เมื่อตั้งค่าที่ sandbox มันจะถูกบันทึกเป็น sandbox
  • YYYY/MM/DD: ปี/เดือน/วันมาตรฐานที่ดึงข้อมูล (ขึ้นอยู่กับ UTC)
  • UUID: ค่าสุ่มเพื่อป้องกันการเขียนทับเนื่องจากชื่อไฟล์ที่ซ้ำกัน
  • นามสกุลไฟล์: ขึ้นอยู่กับประเภทไฟล์ที่เลือก
ประเภทไฟล์ บีบอัดหรือไม่ ชื่อไฟล์สุดท้าย
json V withhive/data_export/buildType/YYYY/MM/DD/eventName/eventName_YYYY_MM_DD_UUID.json.gzip
csv V withhive/data_export/buildType/YYYY/MM/DD/eventName/eventName_YYYY_MM_DD_UUID.csv.gzip

นามสกุลไฟล์

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

ข้อควรระวัง & Tips

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

เมนูที่เกี่ยวข้อง

  • กิจกรรม — กำหนดเหตุการณ์และคุณสมบัติที่จะส่งออก
  • MMP บูรณาการ — บูรณาการกับเครื่องมือภายนอกและตรวจสอบสถานะการรวบรวมข้อมูล