ส่งออกข้อมูล¶
โครงร่าง¶
การส่งออกข้อมูลเป็นฟังก์ชันที่แยกข้อมูลเหตุการณ์ที่กำลังโหลดเข้าสู่การวิเคราะห์ Hive ทุกชั่วโมง และอัปโหลดไปยังที่เก็บข้อมูลบนคลาวด์
ข้อมูลที่ให้ไว้ในการส่งออกข้อมูลคือข้อมูลแถวเหตุการณ์ (raw) ที่สามารถใช้เพื่อการวิเคราะห์ตามวัตถุประสงค์โดยการสร้างฐานข้อมูลโดยตรงหรือประมวลผลเป็นรูปแบบที่ต้องการ
การแปลงไฟล์และการส่งข้อมูลจัดทำโดย Hive Analytics แต่พื้นที่เก็บข้อมูลบนคลาวด์จำเป็นต้องลงทะเบียนกับบริการคลาวด์ที่คุณใช้อยู่
Note
เนื่องจากข้อมูลจัดทำโดยเหตุการณ์ จึงไม่รองรับการส่งแบบแยกตามโปรเจ็กต์
ทำอะไรได้บ้าง?¶
นักวิเคราะห์ข้อมูล¶
- คุณสามารถโหลดข้อมูลที่รวบรวมจากการวิเคราะห์ Hive ลงใน DB ของบริษัทของคุณได้โดยตรง ประมวลผลเป็นรูปแบบที่ต้องการ และดำเนินการวิเคราะห์เชิงลึก
- คุณสามารถสร้างแดชบอร์ดที่กำหนดเองได้โดยการเชื่อมโยงข้อมูลดิบกับเครื่องมือ BI หรือสภาพแวดล้อมการวิเคราะห์ของคุณเอง
นักพัฒนา¶
- คุณสามารถโหลดข้อมูลเหตุการณ์ Hive ลงในไปป์ไลน์ข้อมูลของคุณเองได้โดยอัตโนมัติ
- ด้วยการเชื่อมโยงกับ AWS S3 หรือ GCP Cloud Storage คุณจะสามารถใช้ข้อมูลเหตุการณ์ล่าสุดทุก ๆ ชั่วโมงได้โดยตรงจากที่เก็บข้อมูลบนคลาวด์
เริ่มต้นอย่างรวดเร็ว¶
หากคุณกำลังตั้งค่าการส่งออกข้อมูลเป็นครั้งแรก ให้ทำตามขั้นตอนด้านล่างเพื่อผสานรวมที่เก็บข้อมูลบนคลาวด์ให้เสร็จสมบูรณ์
- สร้างบัคเก็ตเฉพาะสำหรับการส่งออกข้อมูลบนที่เก็บข้อมูลบนคลาวด์ที่คุณต้องการใช้ (AWS S3 หรือ GCP Cloud Storage) และเตรียมคีย์การรับรองความถูกต้อง
- เข้าถึงคอนโซล Analytics > ข้อมูล > การส่งออกข้อมูล การตั้งค่า
- เลือกเหตุการณ์ (บันทึก) ที่คุณต้องการแยก (สูงสุด 30)
- เลือกที่เก็บข้อมูล (AWS S3 / GCP Cloud Storage) และป้อนชื่อบัคเก็ต
- เลือกประเภทข้อมูล (CSV / JSON)
- ลงทะเบียนคีย์การรับรองความถูกต้อง
Note
หากต้องการข้อมูลเกี่ยวกับวิธีสร้างที่เก็บข้อมูลและออกคีย์การตรวจสอบสิทธิ์สำหรับพื้นที่เก็บข้อมูลบนคลาวด์แต่ละรายการ โปรดดูที่ ฟีเจอร์ทั้งหมด
ฟังก์ชั่นครบ¶
ตรรกะการส่งออกข้อมูล¶
ข้อมูลเหตุการณ์ที่จัดเก็บไว้ใน 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'
การตั้งค่าการส่งออกข้อมูล¶
เลือกกิจกรรม¶
เลือกเหตุการณ์ (บันทึก) ที่คุณต้องการแยก
- คุณสามารถค้นหาและเลือกโดยป้อนส่วนหนึ่งของชื่อเหตุการณ์
- สามารถเลือกได้ถึง 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
- ตัวอย่าง) การแยกข้อมูลและการอัปโหลดเริ่มต้นเวลา 15:00 น. (อิงตาม UTC): ข้อมูลตั้งแต่ 05:00:00 น. ถึง 05:59:59 น. จะถูกแยกจากคุณสมบัติ
- เวลาที่เสร็จสมบูรณ์อาจแตกต่างกันไปขึ้นอยู่กับจำนวนไฟล์และความจุในการอัพโหลด
ลงทะเบียนคีย์การรับรองความถูกต้อง¶
ต้องได้รับอนุญาตในการอัปโหลดข้อมูลไปยังที่เก็บข้อมูลบนคลาวด์ คุณต้องลงทะเบียนคีย์การรับรองความถูกต้องหรือไฟล์คีย์การรับรองความถูกต้องด้วยสิทธิ์ในการจัดเก็บข้อมูล วิธีการลงทะเบียนคีย์การรับรองความถูกต้องจะแตกต่างกันไปขึ้นอยู่กับบริการคลาวด์
การตั้งค่าที่เก็บข้อมูลบนคลาวด์¶
GCP - Google Cloud Storage¶
หากต้องการส่งออกข้อมูลไปยัง Google Cloud จำเป็นต้องมีการตั้งค่าต่อไปนี้
-
ในหน้า Google Cloud Console ให้ไปที่ Cloud Storage
-
สร้าง บัคเก็ต (bucket) เพื่อใช้สำหรับการส่งออกข้อมูลโดยเฉพาะ
- ชื่อบัคเก็ตไม่สามารถเปลี่ยนแปลงได้เมื่อตั้งค่าแล้ว และหากจำเป็น จะต้องลบบัคเก็ตที่มีอยู่และสร้างใหม่
- ขอแนะนำให้สร้างบัคเก็ตสำหรับการส่งออกข้อมูลโดยเฉพาะ
-
คุณต้องสร้างรหัสบริการเพื่อจัดเตรียมการส่งออกข้อมูลและให้สิทธิ์ในการเขียนแก่บัคเก็ต
- บนหน้าคอนโซล ไปที่ IAM และผู้ดูแลระบบ → เมนูบัญชีบริการ
- คลิก สร้างบัญชีบริการ เพื่อสร้างบัญชีใหม่
- คุณสามารถสร้าง ID สำหรับบัญชีของคุณด้วยชื่อใดก็ได้ที่คุณต้องการ (ตัวอย่าง:
hive_data_transfer_account@projectId.iam.gserviceaccount.com)
- หลังจากสร้างบัญชีแล้ว ให้ไปที่แท็บคีย์และสร้างคีย์สำหรับบริการ
- สร้างไฟล์คีย์ในรูปแบบ JSON โดยเพิ่มคีย์ → สร้างคีย์ใหม่
- เก็บไฟล์คีย์ที่สร้างขึ้นให้ปลอดภัยหลังจากดาวน์โหลด
- คุณสามารถสร้าง ID สำหรับบัญชีของคุณด้วยชื่อใดก็ได้ที่คุณต้องการ (ตัวอย่าง:
- กลับไปที่ Cloud Storage และใน bucket(bucket) ที่คุณสร้างขึ้น ให้ไปที่แท็บสิทธิ์

- ในแท็บสิทธิ์ ให้ป้อนบัญชีบริการที่สร้างขึ้นใหม่ ID ในสิทธิ์การเข้าถึง → เพิ่มสมาชิกหลัก
- ในการกำหนดบทบาท ให้เพิ่มสิทธิ์สองรายการ Cloud Storage → Storage Object Creator, Storage Object Viewer จากนั้นคลิก OK
-
หลังจากการตั้งค่าทั้งหมดเสร็จสิ้น ให้ลงทะเบียนไฟล์คีย์สำหรับบริการในหน้าการตั้งค่าการส่งออกข้อมูลของ Hive Analytics
AWS - S3¶
หากต้องการส่งออกข้อมูลไปยัง AWS จำเป็นต้องมีการตั้งค่าต่อไปนี้
- บนหน้าคอนโซล AWS ให้ไปที่ ที่เก็บข้อมูล → S3

- สร้าง บัคเก็ต (bucket) สำหรับการส่งออกข้อมูลโดยเฉพาะ
- ชื่อบัคเก็ตไม่สามารถเปลี่ยนแปลงได้เมื่อตั้งค่าแล้ว และหากจำเป็น จะต้องลบบัคเก็ตที่มีอยู่และสร้างใหม่
- แนะนำให้ใช้เป็นที่เก็บข้อมูลเท่านั้น
- คุณจะต้องสร้างบัญชีเพื่อส่งออกข้อมูล
- ผู้ใช้นี้ควรใช้เป็นบัญชีเฉพาะสำหรับการส่งออกข้อมูลเท่านั้น สร้าง IAM user ใหม่
- สร้างรหัสการเข้าถึงสำหรับบัญชีที่คุณสร้าง ข้อมูลที่เกี่ยวข้องสามารถพบได้ใน IAM การจัดการคีย์การเข้าถึงของผู้ใช้ - การสร้างคีย์การเข้าถึง
- เก็บคีย์การเข้าถึงของคุณไว้ในที่ปลอดภัย
- เพิ่ม 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/*"]
}
]
}
- หลังจากเสร็จสิ้น ให้เพิ่มคีย์การเข้าถึงที่คุณบันทึกไว้ในคอนโซล Analytics > ข้อมูล > การตั้งค่าการส่งออกข้อมูล
รูปแบบการบันทึกไฟล์¶
โครงสร้างไดเร็กทอรีการจัดเก็บข้อมูล¶
รูปแบบเส้นทางไฟล์ทั่วไป:
- ประเภทบิลด์: มีสองค่า:
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 บูรณาการ — บูรณาการกับเครื่องมือภายนอกและตรวจสอบสถานะการรวบรวมข้อมูล




