1. ภาพรวม
Dataflow คืออะไร
Dataflow เป็นบริการที่มีการจัดการสำหรับการทำงานในรูปแบบการประมวลผลข้อมูลหลากหลายรูปแบบ เอกสารในเว็บไซต์นี้จะแสดงวิธีทำให้ไปป์ไลน์การประมวลผลข้อมูลแบบกลุ่มและการสตรีมมิงใช้งานได้โดยใช้ Dataflow รวมถึงวิธีการใช้ฟีเจอร์บริการ
Apache Beam SDK เป็นโมเดลการเขียนโปรแกรมโอเพนซอร์สที่ให้คุณพัฒนาได้ทั้งไปป์ไลน์แบบกลุ่มและสตรีมมิง คุณสร้างไปป์ไลน์ด้วยโปรแกรม Apache Beam แล้วเรียกใช้ไปป์ไลน์ในบริการ Dataflow เอกสารประกอบเกี่ยวกับ Apacheบีมให้ข้อมูลแนวคิดเชิงลึกและข้อมูลอ้างอิงสำหรับโมเดลการเขียนโปรแกรม Apacheบีม, SDK และโปรแกรมเรียกใช้อื่นๆ
การสตรีมการวิเคราะห์ข้อมูลอย่างรวดเร็ว
Dataflow ช่วยให้การพัฒนาไปป์ไลน์ข้อมูลสตรีมมิงเป็นไปอย่างง่ายดายและรวดเร็วโดยมีเวลาในการตอบสนองของข้อมูลต่ำลง
ลดความซับซ้อนของการดำเนินการและการจัดการ
อนุญาตให้ทีมมุ่งเน้นที่การเขียนโปรแกรมแทนการจัดการคลัสเตอร์เซิร์ฟเวอร์เนื่องจากแนวทางแบบ Serverless ของ Dataflow นำค่าใช้จ่ายในการดำเนินการออกจากภาระงานด้านวิศวกรรมข้อมูล
ลดต้นทุนรวมในการเป็นเจ้าของ
การปรับขนาดทรัพยากรอัตโนมัติควบคู่กับความสามารถในการประมวลผลแบบกลุ่มที่เพิ่มประสิทธิภาพต้นทุนทำให้ Dataflow มีขีดความสามารถที่ไม่จำกัดในระบบเสมือนจริงในการจัดการภาระงานตามฤดูกาลและพุ่งสูงโดยไม่มีการใช้จ่ายมากเกินไป
ฟีเจอร์สำคัญ
การจัดการทรัพยากรอัตโนมัติและการจัดสรรงานแบบไดนามิกใหม่
Dataflow ทำให้การจัดสรรและการจัดการทรัพยากรการประมวลผลเป็นแบบอัตโนมัติเพื่อลดเวลาในการตอบสนองและเพิ่มการใช้งานให้ได้สูงสุด คุณจึงไม่ต้องสร้างอินสแตนซ์หรือจองอินสแตนซ์ด้วยตนเอง นอกจากนี้ การแบ่งพาร์ติชันงานยังทำงานแบบอัตโนมัติและได้รับการเพิ่มประสิทธิภาพเพื่อปรับสมดุลการทำงานที่ล่าช้าแบบไดนามิก ไม่จำเป็นต้องตามหา "แป้นลัด" อีกต่อไป หรือประมวลผลข้อมูลอินพุตล่วงหน้า
การปรับขนาดอัตโนมัติในแนวนอน
การปรับขนาดทรัพยากรผู้ปฏิบัติงานอัตโนมัติในแนวนอนเพื่ออัตราการส่งข้อมูลที่ดีที่สุดช่วยให้ประสิทธิภาพโดยรวมดีขึ้น
การกำหนดราคาการกำหนดเวลาทรัพยากรที่ยืดหยุ่นสำหรับการประมวลผลแบบกลุ่ม
เพื่อการประมวลผลที่มีความยืดหยุ่นในการกำหนดตารางเวลางาน เช่น งานข้ามคืน การกำหนดเวลาทรัพยากรที่ยืดหยุ่น (FlexRS) จะเสนอราคาต่ำกว่าสำหรับการประมวลผลแบบกลุ่ม งานที่ยืดหยุ่นเหล่านี้จะอยู่ในคิวที่มีการรับประกันว่าจะมีการดึงข้อมูลเพื่อดำเนินการได้ภายใน 6 ชั่วโมง
บทแนะนำนี้ปรับมาจาก https://cloud.google.com/dataflow/docs/quickstarts/quickstart-java-maven
สิ่งที่คุณจะได้เรียนรู้
- วิธีสร้างโปรเจ็กต์ Maven ด้วย Apacheบีม โดยใช้ Java SDK
- เรียกใช้ไปป์ไลน์ตัวอย่างโดยใช้คอนโซล Google Cloud Platform
- วิธีลบที่เก็บข้อมูล Cloud Storage ที่เกี่ยวข้องและเนื้อหาในที่เก็บข้อมูล
สิ่งที่คุณต้องมี
คุณจะใช้บทแนะนำนี้อย่างไร
คุณจะให้คะแนนความพึงพอใจสำหรับประสบการณ์การใช้บริการ Google Cloud Platform อย่างไร
2. การตั้งค่าและข้อกำหนด
การตั้งค่าสภาพแวดล้อมตามเวลาที่สะดวก
- ลงชื่อเข้าใช้ Cloud Console และสร้างโปรเจ็กต์ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่ซ้ำ (หากยังไม่มีบัญชี Gmail หรือ G Suite คุณต้องสร้างบัญชี)
โปรดจดจำรหัสโปรเจ็กต์ ซึ่งเป็นชื่อที่ไม่ซ้ำกันในโปรเจ็กต์ Google Cloud ทั้งหมด (ชื่อด้านบนมีคนใช้แล้ว และจะใช้ไม่ได้ ขออภัย) และจะมีการอ้างอิงใน Codelab ว่า PROJECT_ID
ในภายหลัง
- ถัดไป คุณจะต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร Google Cloud
การใช้งาน Codelab นี้น่าจะไม่มีค่าใช้จ่ายใดๆ หากมี ตรวจสอบว่าคุณได้ทำตามวิธีการใน "การล้างข้อมูล" ซึ่งจะแนะนำคุณเกี่ยวกับวิธีปิดทรัพยากรเพื่อไม่ให้มีการเรียกเก็บเงินนอกเหนือจากบทแนะนำนี้ ผู้ใช้ใหม่ของ Google Cloud จะมีสิทธิ์เข้าร่วมโปรแกรมทดลองใช้ฟรี$300 USD
เปิดใช้ API
คลิกไอคอนเมนูที่ด้านซ้ายบนของหน้าจอ
เลือก API และ บริการ > แดชบอร์ดจากเมนูแบบเลื่อนลง
เลือก + เปิดใช้ API และบริการ
ค้นหา "Compute Engine" ในช่องค้นหา คลิกที่ "Compute Engine API" ในรายการผลลัพธ์ที่ปรากฏขึ้น
คลิกเปิดใช้ในหน้า Google Compute Engine
เมื่อเปิดใช้แล้ว ให้คลิกลูกศรเพื่อย้อนกลับ
จากนั้นค้นหาและเปิดใช้ API ต่อไปนี้ด้วย
- Cloud Dataflow
- Stackdriver
- Cloud Storage
- JSON ของ Cloud Storage
- BigQuery
- Cloud Pub/Sub
- Cloud Datastore
- Cloud Resource Manager API
3. สร้างที่เก็บข้อมูล Cloud Storage ใหม่
ในคอนโซล Google Cloud Platform ให้คลิกไอคอนเมนูที่ด้านซ้ายบนของหน้าจอ
เลื่อนลงแล้วเลือก Cloud Storage > เบราว์เซอร์ในส่วนย่อยพื้นที่เก็บข้อมูล
ตอนนี้คุณควรเห็นเบราว์เซอร์ Cloud Storage และในกรณีที่ใช้โปรเจ็กต์ที่ไม่มีที่เก็บข้อมูล Cloud Storage ในขณะนี้ คุณจะเห็นคำเชิญให้สร้างที่เก็บข้อมูลใหม่ กดปุ่มสร้างที่เก็บข้อมูลเพื่อสร้างที่เก็บข้อมูล
ป้อนชื่อที่เก็บข้อมูล ชื่อที่เก็บข้อมูลต้องไม่ซ้ำกันใน Cloud Storage ทั้งหมดตามหมายเหตุของกล่องโต้ตอบ ดังนั้น หากเลือกชื่อที่ชัดเจน เช่น "test" (ทดสอบ) คุณอาจพบว่ามีผู้อื่นสร้างที่เก็บข้อมูลที่มีชื่อนั้นอยู่แล้วและจะได้รับข้อผิดพลาด
นอกจากนี้ ยังมีกฎบางข้อเกี่ยวกับอักขระที่ได้รับอนุญาตในชื่อที่เก็บข้อมูลด้วย หากคุณขึ้นต้นและลงท้ายชื่อที่เก็บข้อมูลด้วยตัวอักษรหรือตัวเลข และใช้เฉพาะเครื่องหมายขีดกลางตรงกลางก็ไม่มีปัญหา หากพยายามใช้สัญลักษณ์พิเศษ หรือพยายามขึ้นต้นหรือสิ้นสุดชื่อที่เก็บข้อมูลด้วยอักขระอื่นที่ไม่ใช่ตัวอักษรหรือตัวเลข กล่องโต้ตอบจะแจ้งเตือนกฎดังกล่าว
ป้อนชื่อที่ไม่ซ้ำกันสำหรับที่เก็บข้อมูล แล้วกดสร้าง หากคุณเลือกแอปที่ใช้งานอยู่แล้ว คุณจะเห็นข้อความแสดงข้อผิดพลาดแสดงอยู่ด้านบน เมื่อสร้างที่เก็บข้อมูลสำเร็จแล้ว ระบบจะนำคุณไปยังที่เก็บข้อมูลใหม่ที่ว่างเปล่าในเบราว์เซอร์:
แน่นอนว่าชื่อที่เก็บข้อมูลที่คุณเห็นจะแตกต่างกัน เนื่องจากชื่อต้องไม่ซ้ำกันในทุกโปรเจ็กต์
4. เริ่มต้น Cloud Shell
เปิดใช้งาน Cloud Shell
- คลิกเปิดใช้งาน Cloud Shell จาก Cloud Console
หากคุณไม่เคยเริ่มต้นใช้งาน Cloud Shell มาก่อน คุณจะเห็นหน้าจอตรงกลาง (ครึ่งหน้าล่าง) ซึ่งอธิบายว่านี่คืออะไร หากเป็นเช่นนั้น ให้คลิกดำเนินการต่อ (คุณจะไม่เห็นการดำเนินการนี้อีก) หน้าจอแบบครั้งเดียวมีลักษณะดังนี้
การจัดสรรและเชื่อมต่อกับ Cloud Shell ใช้เวลาเพียงไม่กี่นาที
เครื่องเสมือนนี้เต็มไปด้วยเครื่องมือการพัฒนาทั้งหมดที่คุณต้องการ โดยมีไดเรกทอรีหลักขนาด 5 GB ที่ทำงานอย่างต่อเนื่องใน Google Cloud ซึ่งจะช่วยเพิ่มประสิทธิภาพของเครือข่ายและการตรวจสอบสิทธิ์ได้อย่างมาก งานส่วนใหญ่ใน Codelab นี้สามารถทำได้โดยใช้เบราว์เซอร์หรือ Chromebook เท่านั้น
เมื่อเชื่อมต่อกับ Cloud Shell คุณควรเห็นว่าได้รับการตรวจสอบสิทธิ์แล้ว และโปรเจ็กต์ได้รับการตั้งค่าเป็นรหัสโปรเจ็กต์แล้ว
- เรียกใช้คำสั่งต่อไปนี้ใน Cloud Shell เพื่อยืนยันว่าคุณได้รับการตรวจสอบสิทธิ์แล้ว
gcloud auth list
เอาต์พุตจากคำสั่ง
Credentialed Accounts ACTIVE ACCOUNT * <my_account>@<my_domain.com> To set the active account, run: $ gcloud config set account `ACCOUNT`
gcloud config list project
เอาต์พุตจากคำสั่ง
[core] project = <PROJECT_ID>
หากไม่ใช่ ให้ตั้งคำสั่งด้วยคำสั่งนี้
gcloud config set project <PROJECT_ID>
เอาต์พุตจากคำสั่ง
Updated property [core/project].
5. สร้างโปรเจ็กต์ Maven
หลังจากเปิดตัว Cloud Shell แล้ว ให้เริ่มต้นด้วยการสร้างโปรเจ็กต์ Maven โดยใช้ Java SDK สำหรับ Apacheบีม
Apache Beam เป็นโมเดลการเขียนโปรแกรมโอเพนซอร์สสำหรับไปป์ไลน์ข้อมูล คุณกำหนดไปป์ไลน์เหล่านี้ด้วยโปรแกรม Apacheบีม และสามารถเลือกตัวเรียกใช้ เช่น Dataflow เพื่อเรียกใช้ไปป์ไลน์
เรียกใช้คำสั่ง mvn archetype:generate
ใน Shell ดังนี้
mvn archetype:generate \
-DarchetypeGroupId=org.apache.beam \
-DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \
-DarchetypeVersion=2.46.0 \
-DgroupId=org.example \
-DartifactId=first-dataflow \
-Dversion="0.1" \
-Dpackage=org.apache.beam.examples \
-DinteractiveMode=false
หลังจากเรียกใช้คำสั่งแล้ว คุณควรเห็นไดเรกทอรีใหม่ที่ชื่อ first-dataflow
ใต้ไดเรกทอรีปัจจุบันของคุณ first-dataflow
มีโปรเจ็กต์ Maven ที่มี Cloud Dataflow SDK สำหรับ Java และไปป์ไลน์ตัวอย่าง
6. เรียกใช้ไปป์ไลน์การประมวลผลข้อความบน Cloud Dataflow
เริ่มต้นด้วยการบันทึกรหัสโปรเจ็กต์และชื่อที่เก็บข้อมูล Cloud Storage เป็นตัวแปรสภาพแวดล้อม โดยดำเนินการดังกล่าวได้ใน Cloud Shell โปรดแทนที่ <your_project_id>
ด้วยรหัสโปรเจ็กต์ของคุณเอง
export PROJECT_ID=<your_project_id>
ตอนนี้เราจะทำเช่นเดียวกันนี้กับที่เก็บข้อมูล Cloud Storage อย่าลืมใช้ชื่อที่ไม่ซ้ำกันที่คุณใช้สร้างที่เก็บข้อมูลในขั้นตอนก่อนหน้าแทน <your_bucket_name>
export BUCKET_NAME=<your_bucket_name>
เปลี่ยนเป็นไดเรกทอรี first-dataflow/
cd first-dataflow
เรากำลังเรียกใช้ไปป์ไลน์ที่เรียกว่า WordCount ซึ่งจะอ่านข้อความ แปลงบรรทัดข้อความให้เป็นโทเค็น และทำการนับความถี่ของคำแต่ละคำเหล่านั้น ก่อนอื่น เราจะเรียกใช้ไปป์ไลน์ และในขณะที่ระบบทำงานอยู่ เราจะดูว่าเกิดอะไรขึ้นในแต่ละขั้นตอน
เริ่มไปป์ไลน์โดยเรียกใช้คำสั่ง mvn compile exec:java
ในหน้าต่าง Shell หรือหน้าต่างเทอร์มินัล สำหรับอาร์กิวเมนต์ --project, --stagingLocation,
และ --output
คำสั่งด้านล่างจะอ้างอิงตัวแปรสภาพแวดล้อมที่คุณตั้งค่าไว้ก่อนหน้าในขั้นตอนนี้
mvn compile exec:java \
-Pdataflow-runner compile exec:java \
-Dexec.mainClass=org.apache.beam.examples.WordCount \
-Dexec.args="--project=${PROJECT_ID} \
--stagingLocation=gs://${BUCKET_NAME}/staging/ \
--output=gs://${BUCKET_NAME}/output \
--runner=DataflowRunner \
--region=us-central1 \
--gcpTempLocation=gs://${BUCKET_NAME}/temp"
ลองหางานในรายการงานในขณะที่งานกำลังดำเนินอยู่
เปิด UI เว็บ Cloud Dataflow ในคอนโซล Google Cloud Platform คุณควรจะเห็นงานนับคำที่มีสถานะกำลังทำงาน ดังนี้
ตอนนี้ มาดูพารามิเตอร์ไปป์ไลน์กัน เริ่มด้วยการคลิกที่ชื่องานของคุณ
เมื่อเลือกงาน คุณจะดูกราฟการดำเนินการได้ กราฟการดำเนินการของไปป์ไลน์จะแสดงการแปลงแต่ละรายการในไปป์ไลน์ในรูปแบบกล่องที่มีชื่อการแปลงและข้อมูลสถานะบางอย่าง คุณสามารถคลิก Carat ที่มุมขวาบนของแต่ละขั้นตอนเพื่อดูรายละเอียดเพิ่มเติม:
ดูว่าไปป์ไลน์แปลงข้อมูลในแต่ละขั้นตอนอย่างไร
- อ่าน: ในขั้นตอนนี้ ไปป์ไลน์จะอ่านจากแหล่งที่มาอินพุต ในกรณีนี้เป็นไฟล์ข้อความจาก Cloud Storage ที่มีข้อความทั้งหมดของบทละครของเชกสเปียร์เรื่อง King Lear ไปป์ไลน์จะอ่านไฟล์ทีละบรรทัดและส่งออกแต่ละ
PCollection
โดยที่แต่ละบรรทัดในไฟล์ข้อความเป็นองค์ประกอบในคอลเล็กชัน - CountWords: ขั้นตอน
CountWords
มี 2 ส่วน ขั้นแรก เครื่องมือจะใช้ฟังก์ชัน Do คู่ขนาน (ParDo) ที่ชื่อExtractWords
เพื่อแปลงแต่ละบรรทัดเป็นแต่ละคำเป็นโทเค็น เอาต์พุตของ ExtractWords เป็น PCollection ใหม่ซึ่งแต่ละองค์ประกอบเป็นคำ ขั้นตอนถัดไปCount
จะใช้การแปลงที่ Java SDK จัดเตรียมไว้ให้ ซึ่งจะแสดงคู่คีย์-ค่าเมื่อคีย์เป็นคำที่ไม่ซ้ำกันและค่านี้เป็นค่าจำนวนครั้งที่เกิดขึ้น ต่อไปนี้คือวิธีการใช้CountWords
และคุณตรวจสอบไฟล์ WordCount.java แบบเต็มได้ใน GitHub
/**
* A PTransform that converts a PCollection containing lines of text into a PCollection of
* formatted word counts.
*
* <p>Concept #3: This is a custom composite transform that bundles two transforms (ParDo and
* Count) as a reusable PTransform subclass. Using composite transforms allows for easy reuse,
* modular testing, and an improved monitoring experience.
*/
public static class CountWords
extends PTransform<PCollection<String>, PCollection<KV<String, Long>>> {
@Override
public PCollection<KV<String, Long>> expand(PCollection<String> lines) {
// Convert lines of text into individual words.
PCollection<String> words = lines.apply(ParDo.of(new ExtractWordsFn()));
// Count the number of times each word occurs.
PCollection<KV<String, Long>> wordCounts = words.apply(Count.perElement());
return wordCounts;
}
}
- MapElements: เรียกใช้
FormatAsTextFn
ที่คัดลอกไว้ด้านล่าง ซึ่งจะจัดรูปแบบแต่ละคีย์และคู่ของค่าเป็นสตริงที่พิมพ์ได้
/** A SimpleFunction that converts a Word and Count into a printable string. */
public static class FormatAsTextFn extends SimpleFunction<KV<String, Long>, String> {
@Override
public String apply(KV<String, Long> input) {
return input.getKey() + ": " + input.getValue();
}
}
- WriteCounts: ในขั้นตอนนี้ เราจะเขียนสตริงที่พิมพ์ได้ลงในไฟล์ข้อความแบบชาร์ดหลายไฟล์
เราจะตรวจสอบผลลัพธ์ที่ได้จากไปป์ไลน์ในอีกไม่กี่นาที
ลองดูที่หน้าข้อมูลงานทางด้านขวาของกราฟ ซึ่งมีพารามิเตอร์ไปป์ไลน์ที่เรารวมไว้ในคำสั่ง mvn compile exec:java
นอกจากนี้ คุณยังดูตัวนับที่กำหนดเองสำหรับไปป์ไลน์ได้ด้วย ซึ่งในตัวอย่างนี้จะแสดงจำนวนบรรทัดที่ว่างที่พบระหว่างการดำเนินการ คุณเพิ่มตัวนับใหม่ลงในไปป์ไลน์เพื่อติดตามเมตริกเฉพาะแอปพลิเคชันได้
คุณสามารถคลิกไอคอนบันทึกที่ด้านล่างของคอนโซลเพื่อดูข้อความแสดงข้อผิดพลาดที่เฉพาะเจาะจง
แผงจะแสดงข้อความบันทึกงานที่รายงานสถานะของงานโดยรวมโดยค่าเริ่มต้น คุณสามารถใช้ตัวเลือกความรุนแรงขั้นต่ำเพื่อกรองความคืบหน้าของงานและข้อความสถานะได้
การเลือกขั้นตอนไปป์ไลน์ในกราฟจะเปลี่ยนมุมมองเป็นบันทึกที่สร้างขึ้นโดยโค้ดของคุณและรหัสที่สร้างขึ้นซึ่งทำงานอยู่ในขั้นตอนไปป์ไลน์
หากต้องการกลับไปที่บันทึกงาน ให้ยกเลิกการเลือกขั้นตอนโดยคลิกนอกกราฟหรือใช้ปุ่มปิดในแผงด้านขวา
คุณสามารถใช้ปุ่มบันทึกของผู้ปฏิบัติงานในแท็บบันทึกเพื่อดูบันทึกผู้ปฏิบัติงานสำหรับอินสแตนซ์ Compute Engine ที่เรียกใช้ไปป์ไลน์ บันทึกของผู้ปฏิบัติงานประกอบด้วยบรรทัดบันทึกที่โค้ดสร้างขึ้นและโค้ดที่สร้างขึ้นของ Dataflow เรียกใช้โค้ด
หากคุณกำลังพยายามแก้ไขข้อบกพร่องของความล้มเหลวในไปป์ไลน์ มักมีการบันทึกเพิ่มเติมในบันทึกของผู้ปฏิบัติงานที่ช่วยแก้ปัญหาได้ โปรดทราบว่าบันทึกเหล่านี้จะรวบรวมมาจากผู้ปฏิบัติงานทั้งหมด ซึ่งสามารถกรองและค้นหาได้
อินเทอร์เฟซการตรวจสอบ Dataflow จะแสดงข้อความบันทึกล่าสุดเท่านั้น คุณสามารถดูบันทึกทั้งหมดโดยคลิกลิงก์การสังเกตของ Google Cloud ทางด้านขวาของแผงบันทึก
ข้อมูลสรุปเกี่ยวกับบันทึกประเภทต่างๆ ที่ดูได้จากหน้าการตรวจสอบ →บันทึก
- บันทึก job-message มีข้อความระดับงานที่คอมโพเนนต์ต่างๆ ของ Dataflow สร้างขึ้น ตัวอย่างเช่น การกำหนดค่าการปรับขนาดอัตโนมัติ เมื่อผู้ปฏิบัติงานเปิดหรือปิดการทำงาน ความคืบหน้าในขั้นตอนของงาน และข้อผิดพลาดของงาน ข้อผิดพลาดระดับผู้ปฏิบัติงานที่เกิดจากรหัสผู้ใช้ที่ขัดข้องและปรากฏในบันทึกของผู้ปฏิบัติงานจะเผยแพร่ไปยังบันทึกข้อความงานด้วย
- ผู้ปฏิบัติงาน Dataflow จะเป็นผู้สร้างบันทึกผู้ปฏิบัติงาน ผู้ปฏิบัติงานจะทำงานในไปป์ไลน์ส่วนใหญ่ (เช่น การนำ ParDos ไปใช้กับข้อมูล) บันทึกของผู้ปฏิบัติงานประกอบด้วยข้อความที่โค้ดและ Dataflow บันทึกไว้
- บันทึก worker-startup มีอยู่ในงาน Dataflow ส่วนใหญ่และสามารถบันทึกข้อความที่เกี่ยวข้องกับกระบวนการเริ่มต้นได้ กระบวนการเริ่มต้นจะรวมถึงการดาวน์โหลด Jar ของงานจาก Cloud Storage แล้วเริ่มผู้ปฏิบัติงาน หากพบปัญหาในการเริ่มการทำงานของผู้ปฏิบัติงาน ให้ดูบันทึกเหล่านี้
- บันทึกของ shuffler ประกอบด้วยข้อความจากผู้ปฏิบัติงานซึ่งรวมผลลัพธ์ของการดำเนินการไปป์ไลน์แบบขนาน
- บันทึก docker และ kubelet มีข้อความที่เกี่ยวข้องกับเทคโนโลยีสาธารณะเหล่านี้ ซึ่งใช้ในผู้ปฏิบัติงานโฟลว์ข้อมูล
ในขั้นตอนถัดไป เราจะตรวจสอบว่างานของคุณสำเร็จหรือไม่
7. ตรวจสอบว่างานของคุณสำเร็จ
เปิด UI เว็บ Cloud Dataflow ในคอนโซล Google Cloud Platform
คุณควรเห็นงานนับคำที่มีสถานะกำลังทำงานในตอนแรก และตามด้วยสำเร็จ ดังนี้
งานจะใช้เวลาประมาณ 3-4 นาที
จำได้ไหมว่าเมื่อเรียกใช้ไปป์ไลน์และระบุที่เก็บข้อมูลเอาต์พุตแล้ว มาดูที่ผลลัพธ์ (เพราะไม่อยากดูว่าแต่ละคำใน King Lear เกิดขึ้นกี่ครั้ง) กลับไปที่เบราว์เซอร์ Cloud Storage ในคอนโซล Google Cloud Platform ในที่เก็บข้อมูล คุณควรเห็นไฟล์เอาต์พุตและไฟล์ชั่วคราวที่งานของคุณสร้างขึ้น
8. ปิดทรัพยากร
คุณสามารถปิดทรัพยากรได้จากคอนโซล Google Cloud Platform
เปิดเบราว์เซอร์ Cloud Storage ในคอนโซล Google Cloud Platform
เลือกช่องทำเครื่องหมายข้างที่เก็บข้อมูลที่คุณสร้างขึ้น แล้วคลิกลบเพื่อลบที่เก็บข้อมูลและเนื้อหาในที่เก็บข้อมูลอย่างถาวร
9. ยินดีด้วย
คุณได้เรียนรู้วิธีสร้างโปรเจ็กต์ Maven ด้วย Cloud Dataflow SDK เรียกใช้ไปป์ไลน์ตัวอย่างโดยใช้คอนโซล Google Cloud Platform และลบที่เก็บข้อมูล Cloud Storage ที่เกี่ยวข้องและเนื้อหาในนั้น
ดูข้อมูลเพิ่มเติม
- เอกสาร Dataflow: https://cloud.google.com/dataflow/docs/
ใบอนุญาต
ผลงานนี้ได้รับอนุญาตภายใต้ใบอนุญาตครีเอทีฟคอมมอนส์แบบระบุแหล่งที่มา 3.0 และใบอนุญาต Apache 2.0