หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
บทความนี้จะสรุปขั้นตอนในการสร้างการเชื่อมต่อ Google BigQuery
ชนิดการรับรองความถูกต้องที่ได้รับการสนับสนุน
ตัวเชื่อมต่อ Google BigQuery รองรับชนิดการรับรองความถูกต้องต่อไปนี้สําหรับสําเนาและกระแสข้อมูล Gen2 ตามลําดับ
| ชนิดการรับรองความถูกต้อง | คัดลอก | กระแสข้อมูล Gen2 |
|---|---|---|
| เข้าสู่ระบบบัญชีบริการ | √ | √ |
| บัญชีองค์กร | ไม่มีข้อมูล | √ |
ตั้งค่าการเชื่อมต่อของคุณสําหรับ Dataflow Gen2
คุณสามารถเชื่อมต่อกระแสข้อมูล Gen2 ใน Microsoft Fabric กับ Google BigQuery โดยใช้ตัวเชื่อมต่อ Power Query ทําตามขั้นตอนเหล่านี้เพื่อสร้างการเชื่อมต่อของคุณ:
- ตรวจสอบ ความสามารถข้อจํากัด และข้อควรพิจารณา เพื่อให้แน่ใจว่าสถานการณ์ของคุณได้รับการสนับสนุน
- กรอกข้อกําหนดเบื้องต้นสําหรับ Google BigQuery
- รับข้อมูลใน Fabric
- เชื่อมต่อกับข้อมูล Google BigQuery
ความสามารถ
- การนำเข้า
- DirectQuery (แบบจําลองความหมายของ Power BI)
ข้อกำหนดเบื้องต้น
คุณต้องมีบัญชี Google หรือบัญชีบริการของ Google เพื่อลงชื่อเข้าใช้ Google BigQuery
รับ ข้อมูล
เพื่อรับข้อมูลใน Data Factory:
ทางด้านซ้ายของ Data Factory ให้เลือก พื้นที่ทํางาน
จากพื้นที่ทํางาน Data Factory ของคุณ ให้เลือก สร้าง> จากนั้นเลือกรายการ Data Factory ของคุณ: กระแสข้อมูล ไปป์ไลน์ งานคัดลอก หรืองานมิเรอร์
ใน Power Query ให้เลือก รับข้อมูล ในริบบอน หรือเลือก รับข้อมูลจากแหล่งข้อมูลอื่น ในมุมมองปัจจุบัน
ในหน้า เลือกแหล่งข้อมูล ให้ใช้ ค้นหา เพื่อค้นหาชื่อของตัวเชื่อมต่อ หรือเลือก ดูเพิ่มเติม ทางด้านขวาของรายการตัวเชื่อมต่อ เพื่อดูตัวเชื่อมต่อทั้งหมดที่พร้อมใช้งานใน Data Factory
ถ้าคุณเลือกที่จะดูตัวเชื่อมต่อเพิ่มเติม คุณยังคงสามารถใช้ ค้นหา เพื่อค้นหาชื่อของตัวเชื่อมต่อ หรือเลือกประเภทเพื่อดูรายการของตัวเชื่อมต่อที่เชื่อมโยงกับประเภทนั้น
เชื่อมต่อกับข้อมูล Google BigQuery
เมื่อต้องการเชื่อมต่อกับ Google BigQuery จาก Power Query Online ให้ทําตามขั้นตอนต่อไปนี้:
เลือกตัวเลือก Google BigQuery ในประสบการณ์การรับข้อมูล แอปต่างๆ มีวิธีที่แตกต่างกันในการเข้าถึงประสบการณ์การรับข้อมูล Power Query Online สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีเข้าถึงประสบการณ์การรับข้อมูลออนไลน์ของ Power Query จากแอปของคุณ ไปที่ จะรับข้อมูลได้ที่ไหน
ในกล่องโต้ตอบ ฐานข้อมูล Google BigQuery คุณอาจต้องสร้างการเชื่อมต่อใหม่หรือเลือกการเชื่อมต่อที่มีอยู่ เลือกบัญชีองค์กรหรือบริการที่จะลงชื่อเข้าใช้ หากคุณกําลังใช้ข้อมูลภายในองค์กร ให้เลือกเกตเวย์ข้อมูลภายในองค์กร จากนั้น เลือก ลงชื่อเข้าใช้
กล่องโต้ตอบ ลงชื่อเข้าใช้ด้วย Google จะปรากฏขึ้น เลือกบัญชี Google และอนุมัติการเชื่อมต่อ
Note
แม้ว่ากล่องโต้ตอบการลงชื่อเข้าใช้จะบอกว่าคุณยังคงไปที่ Power BI Desktop เมื่อคุณลงชื่อเข้าใช้ คุณจะถูกส่งไปยังแอปออนไลน์ของคุณแทน
ถ้าคุณต้องการใช้ตัวเลือกขั้นสูงใด ๆ ให้เลือก ตัวเลือกขั้นสูง ข้อมูลเพิ่มเติม: เชื่อมต่อโดยใช้ตัวเลือกขั้นสูง
เมื่อลงชื่อเข้าใช้แล้ว ให้เลือก ถัดไป เพื่อดําเนินการต่อ
เมื่อคุณเชื่อมต่อเสร็จเรียบร้อยแล้ว หน้าต่าง ตัวนําทาง จะปรากฏขึ้นและแสดงข้อมูลที่พร้อมใช้งานบนเซิร์ฟเวอร์ เลือกข้อมูลของคุณในตัวนําทาง จากนั้นเลือก ถัดไป เพื่อแปลงข้อมูลเป็น Power Query
ข้อจํากัดและข้อควรพิจารณา
ในส่วนนี้จะอธิบายข้อจํากัดหรือข้อควรพิจารณาของตัวเชื่อมต่อ Google BigQuery
การเชื่อมต่อกับ Google BigQuery ใน Power BI Desktop
มีข้อจํากัดและข้อควรพิจารณาบางประการที่ควรคํานึงถึงเมื่อใช้ตัวเชื่อมต่อ Google BigQuery กับ Power BI
ความพร้อมใช้งานของตัวเชื่อมต่อ
ตัวเชื่อมต่อ Google BigQuery พร้อมใช้งานใน Power BI Desktop และในบริการของ บริการของ Power BI ในบริการของ บริการของ Power BI ตัวเชื่อมต่อสามารถเข้าถึงได้โดยใช้การเชื่อมต่อ Cloud-to-Cloud จาก Power BI ไปยัง Google BigQuery
ข้อผิดพลาด "ปฏิเสธการเข้าถึง"
เมื่อคุณพยายามเชื่อมต่อกับ Google BigQuery จาก Power BI Desktop คุณอาจได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
Datasource.Error: ODBC: ERROR [HY000][Microsoft][BigQuery] (100) Error interacting with REST API: Access Denied: Project <project name>: The user <user name> bigquery.jobs.create permissions in project <project name>.
ในกรณีนี้ คุณอาจต้องป้อนรหัสโปรเจ็กต์การเรียกเก็บเงินในตัวเลือกขั้นสูง Billing Project ใน Power Query Connection settings
นอกจากนี้ ถ้าคุณสร้างรายงานใน บริการของ Power BI โดยใช้เกตเวย์ คุณอาจยังคงได้รับข้อผิดพลาดนี้ ในกรณีนี้ คุณต้องรวมรหัสโครงการการเรียกเก็บเงินด้วยตนเองในรหัส M สําหรับการเชื่อมต่อโดยใช้ตัวแก้ไข Power Query หรือแถบสูตร Power Query เช่น:
Source = GoogleBigQuery.Database([BillingProject="Include-Billing-Project-Id-Here"])
รองรับการเชื่อมต่อระบบคลาวด์เดียว
Google BigQuery ไม่รองรับการเชื่อมต่อระบบคลาวด์หลายรายการ เนื่องจากไม่มีฟิลด์พารามิเตอร์เพื่อกําหนดค่ามากกว่าหนึ่งรายการ ด้วยเหตุนี้จึงสามารถใช้การเชื่อมต่อคลาวด์ได้เพียงการเชื่อมต่อเดียวเท่านั้น
เขตข้อมูลแบบซ้อนกัน
ในการปรับข้อควรพิจารณาด้านประสิทธิภาพให้เหมาะสม Google BigQuery ทําได้ดีกับชุดข้อมูลขนาดใหญ่เมื่อดีนอร์มอลไลซ์ ลดรูปแบบแบนและซ้อนกัน
ตัวเชื่อมต่อ Google BigQuery สนับสนุนเขตข้อมูลที่ซ้อนกัน ซึ่งโหลดเป็นคอลัมน์ข้อความในรูปแบบ JSON
ผู้ใช้ควรเลือก แปลงข้อมูล จากนั้นใช้ความสามารถในการแยกวิเคราะห์ JSON ในตัวแก้ไข Power Query เพื่อแยกข้อมูล
- ภายใต้แท็บริบบอนแปลง ประเภทคอลัมน์ข้อความ เลือกการแยกวิเคราะห์ แล้วเลือก JSON
- แยกเขตข้อมูลระเบียน JSON โดยใช้ตัวเลือกขยายคอลัมน์
การตั้งค่าบัญชีบริการของ Google
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าหรือการใช้บัญชีบริการของ Google ให้ไปที่ การสร้างและจัดการคีย์บัญชีบริการ ใน Google docs
ตัวนําทางไม่แสดงโครงการหรือชุดข้อมูลทั้งหมด
หน้าต่าง ตัวนําทาง จะแสดงเฉพาะโปรเจ็กต์และชุดข้อมูลที่ผู้ใช้ที่ตรวจสอบสิทธิ์มีสิทธิ์ Google Cloud Platform (GCP) เพียงพอ ถ้าคุณสามารถเข้าถึงข้อมูลผ่านคิวรีแบบเนทีฟ แต่บางโครงการหรือชุดข้อมูลไม่ปรากฏในตัวนําทาง ให้ตรวจสอบสิ่งต่อไปนี้:
- เชื่อมต่อกับโปรเจ็กต์การเรียกเก็บเงิน ไม่ใช่โปรเจ็กต์ข้อมูลเมื่อสร้างการเชื่อมต่อ
- ผู้ใช้ต้องมีบทบาท เบราว์เซอร์ (หรือเทียบเท่า) ในระดับโปรเจ็กต์เพื่อดูโปรเจ็กต์ที่แสดงอยู่ใน Navigator หากไม่มีบทบาทนี้ โปรแกรมควบคุมจะไม่สามารถแจกแจงโครงการได้แม้ว่าผู้ใช้จะมีสิทธิ์เข้าถึงระดับชุดข้อมูลก็ตาม
- หลังจากเลือกโครงการข้อมูล จะแสดงเฉพาะชุดข้อมูลที่ผู้ใช้ได้รับสิทธิ์เข้าถึงเท่านั้น
- การให้บทบาท BigQuery Metadata Viewer ที่ระดับชุดข้อมูลเท่านั้นไม่เพียงพอสําหรับโครงการที่จะปรากฏในตัวนําทาง ต้องได้รับบทบาทในระดับโครงการ หรือต้องกําหนดบทบาท เบราว์เซอร์ ระดับโครงการแทน
การรับรองความถูกต้องผ่านบัญชีบริการของ Google
เมื่อคุณรับรองความถูกต้องผ่านบัญชีบริการของ Google ใน Power BI Desktop จะมีรูปแบบข้อมูลประจําตัวเฉพาะที่ตัวเชื่อมต่อต้องการ
- อีเมลบัญชีบริการ: ต้องอยู่ในรูปแบบอีเมล
- เนื้อหาไฟล์คีย์ JSON ของบัญชีบริการ: เมื่อดาวน์โหลดคีย์ JSON นี้แล้ว ต้องลบบรรทัดใหม่ทั้งหมดออกจากไฟล์เพื่อให้เนื้อหาอยู่ในบรรทัดเดียว เมื่อไฟล์ JSON อยู่ในรูปแบบนั้น เนื้อหาสามารถวางลงในเขตข้อมูลนี้ได้
เมื่อคุณตรวจสอบสิทธิ์ผ่านบัญชีบริการของ Google ใน บริการของ Power BI หรือ Power Query Online ผู้ใช้ต้องใช้การตรวจสอบสิทธิ์ "พื้นฐาน" เขตข้อมูลชื่อผู้ใช้จะแมปไปยังเขตข้อมูลอีเมลของบัญชีบริการ และเขตข้อมูล Password จะแมปไปยังเขตข้อมูลเนื้อหาไฟล์คีย์ JSON ของบัญชีบริการ ข้อกําหนดรูปแบบสําหรับข้อมูลประจําตัวแต่ละรายการยังคงเหมือนเดิมทั้งใน Power BI Desktop, บริการของ Power BI และ Power Query Online
ไม่สามารถรับรองความถูกต้องกับที่เก็บข้อมูล API ของ Google BigQuery
ตัวเชื่อมต่อ Google BigQuery ใช้ ที่เก็บข้อมูล API ของ Google BigQuery ตามค่าเริ่มต้น คุณลักษณะนี้จะถูกควบคุมโดยตัวเลือกขั้นสูงที่เรียกว่า UseStorageApi คุณอาจพบปัญหาเกี่ยวกับคุณลักษณะนี้ถ้าคุณใช้สิทธิ์ระดับแยกย่อย ในสถานการณ์นี้ คุณอาจเห็นข้อความแสดงข้อผิดพลาดต่อไปนี้ หรือไม่สามารถรับข้อมูลใด ๆ จากคิวรีของคุณ:
ERROR [HY000] [Microsoft][BigQuery] (131) Unable to authenticate with Google BigQuery Storage API. Check your account permissions
คุณสามารถแก้ไขปัญหานี้ได้โดยการปรับสิทธิ์ของผู้ใช้สําหรับที่เก็บข้อมูล API BigQuery อย่างถูกต้อง คุณจําเป็นต้องมีสิทธิ์ API ที่เก็บข้อมูลเหล่านี้เพื่อเข้าถึงข้อมูลอย่างถูกต้องด้วย BigQueryStorage API:
-
bigquery.readsessions.create: สร้างเซสชันการอ่านใหม่ผ่านที่เก็บข้อมูล API BigQuery -
bigquery.readsessions.getData: อ่านข้อมูลจากเซสชันการอ่านใหม่ผ่านที่เก็บข้อมูล API BigQuery -
bigquery.readsessions.update: อัปเดตเซสชันการอ่านใหม่ผ่านที่เก็บข้อมูล API BigQuery
โดยทั่วไปแล้ว สิทธิ์เหล่านี้จะระบุไว้ใน BigQuery.User บทบาท สําหรับข้อมูลเพิ่มเติม ไปที่บทบาทและสิทธิ์ที่กําหนดไว้ล่วงหน้าของ Google BigQuery
หากขั้นตอนข้างต้นไม่สามารถแก้ไขปัญหาได้ คุณสามารถปิดใช้งานที่เก็บข้อมูล API BigQuery ได้
ไม่สามารถใช้ข้อมูลชนิด DateTime ในโหมด Direct Query
มีปัญหาที่ทราบแล้วซึ่ง DateTime ชนิดไม่ได้รับการสนับสนุนผ่าน Direct Query การเลือกคอลัมน์ที่มี DateTime ชนิด ทําให้เกิดข้อผิดพลาด Invalid query หรือเกิดข้อผิดพลาดของวิชวล
ข้อจํากัดของคอลัมน์คิวรีที่มีชื่อเดียวกันกับชื่อตาราง
เมื่อทําการคิวรีคอลัมน์ที่มีชื่อเดียวกันกับชื่อตาราง BigQuery จะแปลคอลัมน์เป็น ที่ struct รวมคอลัมน์ทั้งหมดในตารางแทนที่จะเป็นคอลัมน์ที่ระบุ ตัวอย่างเช่น SELECT debug FROM dataset.debug ส่งกลับ struct ที่มีคอลัมน์ทั้งหมดในตารางแก้จุดบกพร่อง แทนที่จะเป็นคอลัมน์ดีบักที่ระบุ ลักษณะการทํางานนี้ไม่ได้ใช้งานง่ายและมีการตรวจสอบการแก้ไข มีการแก้ไขปัญหาชั่วคราวอยู่สามแบบ:
- วิธีแก้ปัญหาที่ 1: ตัดตารางด้วยมุมมองที่ไม่ขัดแย้งกับชื่อคอลัมน์—
CREATE VIEW dataset.new_view AS SELECT * FROM dataset.debug - วิธีแก้ไขปัญหาที่ 2: เปลี่ยนชื่อคอลัมน์เพื่อหลีกเลี่ยงความขัดแย้งกับชื่อตาราง—
ALTER TABLE dataset.debug RENAME COLUMN debug to new_debug - วิธีแก้ไขปัญหาที่ 3: เปลี่ยนคิวรี SELECT เพื่อใช้ table.column เพื่ออ้างอิงคอลัมน์ข้อขัดแย้ง—
SELECT debug.debug FROM dataset.debug
มุมมองที่เป็นรูปธรรมไม่ได้รับการสนับสนุนในตัวนําทาง Power BI Desktop
ปัญหาที่ทราบคือตัวเชื่อมต่อ Google BigQuery ไม่สนับสนุนมุมมองที่เป็นรูปธรรมในตัวนําทาง Power BI Desktop ในขณะนี้
- วิธีแก้ปัญหา: ใช้คําสั่ง SQL คิวรีในระบบของฐานข้อมูลเพื่อดึงข้อมูลมุมมองที่เป็นร่างจาก Google BigQuery
ข้อผิดพลาด HTTP 403: โควตาส่งออก (เกินโควตา: ผู้ใช้ของคุณเกินโควตาสําหรับคําขอ project.list ที่เกิดขึ้นพร้อมกัน)
- โควตาจะเกินการใช้บัญชีลูกค้าของ project.list การเรียกใช้ API ไปยัง Google เมื่อรายงานหลายฉบับรีเฟรชพร้อมกัน อาจทําให้เกิดข้อผิดพลาดในคิวรีหรือรายงานที่แตกต่างกัน เพื่อป้องกันข้อผิดพลาด กําหนดตารางเวลาการรีเฟรชรายงานในช่วงเวลาที่สลับกัน
- อัปเดตคิวรีเพื่อรวม ID โครงการเรียกเก็บเงิน -
GoogleBigQuery.Database([BillingProject="Include-Billing-Project-Id-Here"]) - การเรียก ควร
GoogleBigQuery.Databaseอยู่ในคิวรีเดียวกันกับ schema และการเลือกตารางเพื่อหลีกเลี่ยงข้อผิดพลาด
ExecuteQueryInternalAsync ล้มเหลวเมื่อใช้ ADBC
ผู้ใช้บางรายอาจประสบปัญหาเมื่อเชื่อมต่อกับ BigQuery โดยใช้Implementation="2.0"เส้นทางและได้รับข้อผิดพลาดCannot execute <ExecuteQueryInternalAsync>b__2 after 5 tries ปัญหานี้อาจเกิดจากปัจจัยบางประการ:
- ปัญหาการอนุญาตที่ระบุไว้ในส่วนต่อไปนี้
- ถ้า
LargeResultDatasetผ่าน ไดรเวอร์จะพยายามสร้างชุดข้อมูลเอาต์พุตด้วยชื่อที่ให้ไว้ การสร้างนี้ต้องมีสิทธิ์ที่ถูกต้องจึงจะทําได้ - เมื่อไม่มีการระบุภูมิภาคอย่างชัดเจนในระหว่างการสร้างชุดข้อมูล BigQuery API จะมีค่าเริ่มต้นเป็นหลายภูมิภาคของสหรัฐอเมริกา ลักษณะการทํางานนี้ขับเคลื่อนโดย API เอง ไม่ใช่โดยคอนฟิกูเรชันตัวเชื่อมต่อหรือไคลเอ็นต์
ตัวเลือกวิธีแก้ไขปัญหาชั่วคราว
การสร้างชุดข้อมูลด้วยตนเอง
หากต้องการหลีกเลี่ยงค่าเริ่มต้นของภูมิภาคที่ไม่คาดคิด ให้สร้างชุดข้อมูลในภูมิภาคที่ต้องการด้วยตนเองโดยใช้คอนโซล BigQuery
การกําหนดค่าตัวเชื่อมต่อเดสก์ท็อป
ถ้าคุณกําลังใช้ Power BI Desktop และพบข้อผิดพลาดขณะนําทางตาราง:
- ไปที่ตัวเลือกไฟล์>และตัวเลือกการตั้งค่า>
- ในส่วนฟีเจอร์แสดงตัวอย่าง ให้ยกเลิกการเลือกตัวเลือกใช้เครื่องมือเชื่อมต่อ Google BigQuery ใหม่
หากคุณได้รับข้อความนี้พร้อมกับรายละเอียดเพิ่มเติมที่มี Last exception: ...รายละเอียด ... เพิ่มเติมของความล้มเหลว ให้ สร้างกรณีและปัญหา เพื่อตรวจสอบเพิ่มเติม
ปัญหาสิทธิ์ในการเชื่อมต่อกับ ADBC
สภาพแวดล้อมบางอย่างอาจต้องการสิทธิ์เพิ่มเติมในการเชื่อมต่อโดยใช้ Implementation="2.0"/ADBC ทั้งนี้เนื่องจากเส้นทาง ADBC ใช้ BigQuery API ในการสืบค้นและโหลดข้อมูลที่แตกต่างจาก ODBC สิทธิ์ที่จําเป็นจะระบุไว้ในที่เก็บ GitHub ของไดรเวอร์
ไม่สามารถรีเฟรชโมเดลที่แบ่งพาร์ติชันด้วย ADBC
ปัญหาที่ทราบในตัวเชื่อมต่อ Google BigQuery คือโมเดลความหมายที่แบ่งพาร์ติชันอาจรีเฟรชไม่ถูกต้อง สิ่งนี้มักจะแสดงพร้อมกับ Cannot execute <ReadChunkWithRetries>b__0 after 5 tries ข้อผิดพลาด มีการเผยแพร่การแก้ไขล่าสุดสําหรับปัญหานี้ และควรปรับใช้ในเดือนตุลาคม 2025 หากคุณได้รับข้อความนี้พร้อมกับรายละเอียดเพิ่มเติมที่มี Last exception: ...รายละเอียด ... เพิ่มเติมของความล้มเหลว ให้ สร้างกรณีและปัญหา เพื่อตรวจสอบเพิ่มเติม