Snowflake

บทความนี้อธิบายวิธีการเชื่อมต่อ Tableau กับคลังข้อมูล Snowflake และตั้งค่าแหล่งข้อมูล

ก่อนที่คุณจะเริ่มต้น

ก่อนที่คุณจะเริ่มต้น ให้รวบรวมข้อมูลการเชื่อมต่อนี้

  • ชื่อเซิร์ฟเวอร์ที่คุณต้องการเชื่อมต่อ
  • วิธีการตรวจสอบสิทธิ์
    • OAuth: ใช้วิธีนี้หากคุณต้องการเปิดใช้งานการรวมศูนย์จาก IDP
    • SAML IDP: ใช้วิธีนี้หากคุณต้องการฝังข้อมูลเข้าสู่ระบบ IDP ในการเชื่อมต่อ
    • ชื่อผู้ใช้และรหัสผ่าน: ใช้วิธีนี้หากคุณต้องการจัดเก็บข้อมูลเข้าสู่ระบบของผู้ใช้ไว้ใน Snowflake
  • ข้อมูลเข้าสู่ระบบจะขึ้นอยู่กับวิธีการตรวจสอบสิทธิ์ที่คุณเลือก
  • (ไม่บังคับ) คำสั่ง SQL เริ่มต้นที่จะทำงานทุกครั้งที่ Tableau เชื่อมต่อ

ต้องมีไดรเวอร์

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

หมายเหตุ: เพื่อรองรับการใช้ OAuth กับ Snowflake คุณจะต้องติดตั้งไดรเวอร์ ODBC ใหม่ล่าสุดจาก Snowflake (เวอร์ชันปัจจุบันคือ 2.25.4)

ทำการเชื่อมต่อและตั้งค่าแหล่งข้อมูล

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

เชื่อมต่อ Tableau กับข้อมูลของคุณ

  1. เปิดใช้งาน Tableau และเลือก Snowflake ในส่วนเชื่อมต่อ
  2. ป้อนชื่อเซิร์ฟเวอร์ที่คุณต้องการเชื่อมต่อ
  3. เลือกวิธีการตรวจสอบสิทธิ์: ชื่อผู้ใช้และรหัสผ่าน,ชื่อผู้ใช้หรือรหัสผ่าน Okta หรือเข้าสู่ระบบด้วย OAuth
  4. เลือกหนึ่งในวิธีการตรวจสอบสิทธิ์และทำตามขั้นตอนการเข้าสู่ระบบ
    ชื่อผู้ใช้และรหัสผ่าน Okta:
    1. ป้อนชื่อผู้ใช้และรหัสผ่าน
    2. ในฟิลด์ Okta ให้ป้อน URL สำหรับเซิร์ฟเวอร์ Okta
    เข้าสู่ระบบด้วย OAuth
    1. (ทางเลือก) เลือกSQL เริ่มต้น หากคุณต้องการเรียกใช้คำสั่ง SQL ในตอนต้นของทุกการเชื่อมต่อ หากต้องการข้อมูลเพิ่มเติม โปรดดูเรียกใช้ SQL เริ่มต้น
    2. เลือกเข้าสู่ระบบ
    3. ในหน้าเว็บที่เปิด ให้ลงชื่อเข้าสู่ Snowflake ด้วยการป้อนชื่อผู้ใช้และรหัสผ่าน จากนั้นเลือกลงชื่อเข้าใช้ หรือเลือกการลงชื่อเพียงครั้งเดียว หาก Snowflake กำหนดค่าไว้ให้รองรับ SSO
    4. คลิกตกลงเพื่อยืนยันการให้สิทธิ์เข้าถึงข้อมูล Snowflake ของคุณ
    5. ปิดหน้าต่างเบราว์เซอร์และ Tableau
    6. ดำเนินการต่อไปยังส่วนถัดไป ซึ่งก็คือ “ตั้งค่าแหล่งข้อมูล”
  5. เลือกเข้าสู่ระบบ
  6. หาก Tableau ไม่สามารถทำการเชื่อมต่อได้ ให้ตรวจสอบว่าข้อมูลเข้าสู่ระบบนั้นถูกต้อง หากคุณยังไม่สามารถเชื่อมต่อได้ คอมพิวเตอร์ของคุณกำลังพบปัญหาขณะค้นหาเซิร์ฟเวอร์ ติดต่อผู้ดูแลเครือข่ายหรือผู้ดูแลระบบฐานข้อมูลของคุณ

หมดเวลาโทเค็นการเข้าถึง: ตรวจสอบโทเค็นการเข้าถึง TDC เสมอ

โทเค็นการเข้าถึง Snowflake จะหมดอายุเมื่อครบ 10 นาที ในกระบวนการรีเฟรชการแยกข้อมูลบางอย่าง การเชื่อมต่อใหม่จะสร้างขึ้นในภายหลังให้กับงาน เมื่อโทเค็นการเข้าถึงหมดอายุ เพื่อแก้ไขปัญหานี้ เราได้เพิ่มความสามารถใหม่ ซึ่งจะเปิดใช้งานเป็นค่าเริ่มต้นตั้งแต่ Tableau 2024.2 เป็นต้นไป หากต้องการเปิดใช้งานความสามารถนี้ในรุ่นเก่า คุณสามารถใช้ TDC ต่อไปนี้

<connection-customization class='snowflake' enabled='true' version='10.0'>
    <vendor name='snowflake' />
    <driver name='snowflake' />
    <customizations>
        <customization name='CAP_OAUTH_VALIDATE_ALWAYS' value='yes'/>
    </customizations>
</connection-customization>

หากคุณใช้ Tableau Cloud คุณสามารถเผยแพร่จาก Tableau Desktop โดยติดตั้ง TDC ในโฟลเดอร์แหล่งข้อมูลที่เก็บของ Tableau ซึ่งจะฝัง TDC ในเวิร์กบุ๊กหรือแหล่งข้อมูลเมื่อเผยแพร่

TDC แบบฝังจะนำไปใช้เสมอ โดยไม่คำนึงถึงสถานะของแฟล็กที่เปิดใช้งาน ตราบใดที่ไม่มี TDC อื่นติดตั้งอยู่บนฝั่งเซิร์ฟเวอร์ และไม่เคยมีการติดตั้ง TDC บน Tableau Cloud (ฝังไว้เท่านั้น)

หมายเหตุ: TDC แบบฝังไม่รองรับโฟลว์

ปรับแต่งการเชื่อมต่อโดยใช้พารามิเตอร์ไดรเวอร์

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

หมายเหตุ: คุณไม่สามารถเปลี่ยนพารามิเตอร์ไดรเวอร์ที่ Tableau สร้างได้ แต่สามารถเพิ่มพารามิเตอร์ได้เท่านั้น

ตัวอย่างเช่น ไวยากรณ์นี้จะระบุเซิร์ฟเวอร์พร็อกซีที่จะใช้เมื่อค่า no_proxy ไม่ตรงกัน และชื่อโฮสต์ใดที่ได้รับอนุญาตให้ข้ามเซิร์ฟเวอร์พร็อกซี:

Proxy=http://proxyserver.company:80;no_proxy=.trustedserver.com;

หากต้องการตัวอย่างพารามิเตอร์ไดรเวอร์ที่กำหนดเองอื่นๆ โปรดดูใช้พร็อกซีสำหรับ Snowflake

 

หมายเหตุ: หากคุณต้องการกำหนดค่าโดยที่ไม่ฝังลงในแหล่งข้อมูล คุณสามารถกำหนดค่าพารามิเตอร์ในรีจิสทรีบน Windows (ใช้ได้เฉพาะพารามิเตอร์ที่ทำเครื่องหมายไว้ว่า “พารามิเตอร์การกำหนดค่า” เท่านั้น) หากต้องการรายละเอียดเกี่ยวกับพารามิเตอร์ไดรเวอร์ โปรดดูการกำหนดค่า ODBC และพารามิเตอร์การเชื่อมต่อบนเว็บไซต์ Snowflake

ตั้งค่าแหล่งข้อมูล

บนหน้าแหล่งข้อมูล ให้ทำดังนี้

  1. (ไม่บังคับ) เลือกชื่อแหล่งข้อมูลเริ่มต้นที่ด้านบนของหน้า แล้วป้อนชื่อแหล่งข้อมูลที่ไม่ซ้ำกันสำหรับใช้ใน Tableau ตัวอย่างเช่น ใช้แบบแผนการตั้งชื่อแหล่งข้อมูลที่ช่วยให้ผู้ใช้รายอื่นๆ ของแหล่งข้อมูลทราบแหล่งข้อมูลที่จะเชื่อมต่อได้

  2. เลือกคลังจากรายการดรอปดาวน์คลัง หรือใช้กล่องข้อความเพื่อค้นหาคลังจากชื่อ

    หมายเหตุ: หากคุณเว้นว่างส่วนนี้และไม่ได้เลือกคลังใดๆ Tableau จะใช้คลังเสมือน Snowflake ตามค่าเริ่มต้นของคุณ

    หากต้องการข้อมูลเพิ่มเติม โปรดดู ค่าเริ่มต้นของคลังเสมือนใน Snowflake

  3. เลือกฐานข้อมูลจากดรอปดาวน์ฐานข้อมูล หรือใช้กล่องข้อความค้นหาฐานข้อมูลตามชื่อ
  4. เลือกสคีมาจากรายการดรอปดาวน์สคีมา หรือใช้กล่องข้อความเพื่อค้นหาสคีมาตามชื่อ
  5. ในส่วนตาราง ให้เลือกตารางหรือใช้กล่องข้อความเพื่อค้นหาตารางตามชื่อ
  6. ลากตารางไปยังแคนวาส แล้วเลือกแท็บชีตเพื่อเริ่มต้นการวิเคราะห์ ใช้ SQL แบบปรับแต่งเองเพื่อเชื่อมต่อกับการค้นหาเฉพาะแทนที่จะเป็นแหล่งข้อมูลทั้งหมด หากต้องการข้อมูลเพิ่มเติม โปรดดู เชื่อมต่อกับการค้นหา SQL แบบปรับแต่งเอง

เข้าสู่ระบบบน Mac

หากคุณใช้ Tableau Desktop บน Mac เมื่อคุณป้อนชื่อเซิร์ฟเวอร์เพื่อเชื่อมต่อ ให้ใช้ชื่อโดเมนที่มีคุณสมบัติครบถ้วน เช่น mydb.test.ourdomain.lan แทนชื่อโดเมนแบบสัมพัทธ์ เช่น mydb หรือ mydb.test

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

ค่าเริ่มต้นของคลังเสมือนใน Snowflake

เมื่อคุณสร้างแหล่งข้อมูล Snowflake, คลัง Snowflake (สำหรับทรัพยากรการคำนวณ) และฐานข้อมูล Snowflake (สำหรับแหล่งข้อมูล) คลังและฐานข้อมูลทั้งสองจะต้องใช้สิทธิ์ในการเข้าถึง คุณสามารถใช้คลังอื่นเพื่อเข้าถึงฐานข้อมูลเดียวกันได้ โดยขึ้นอยู่กับพลังการคำนวณที่คุณต้องใช้ โดยสันนิษฐานว่าคุณมีสิทธิ์ในการเข้าถึงแต่ละคลังและฐานข้อมูล

เมื่อคุณสร้างแหล่งข้อมูล คุณมีตัวเลือกให้เลือกคลังจากรายการดรอปดาวน์ หากคุณปล่อยให้ว่างไว้และไม่เลือกคลัง Tableau จะใช้คลังเสมือน Snowflake เริ่มต้นของคุณ หากต่อมาคุณเผยแพร่แหล่งข้อมูลหรือเวิร์กบุ๊กดังกล่าว เมื่อลูกค้าเชื่อมต่อ Tableau จะใช้คลังเสมือน Snowflake ตามค่าเริ่มต้นของบุคคลดังกล่าว

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

กำหนดค่าการรองรับเซิร์ฟเวอร์ Snowflake สำหรับ OAuth

หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับวิธีกำหนดค่า OAuth สำหรับการเชื่อมต่อระหว่าง Tableau กับ Snowflake โปรดดูกำหนดค่า OAuth สำหรับการเชื่อมต่อ Snowflake(ลิงก์จะเปิดในหน้าต่างใหม่)

ใช้พร็อกซีสำหรับ Snowflake

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

ตัวอย่าง:

proxy=http://proxyserver.company:80

หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์ที่คุณควรใช้ โปรดดูเอกสารประกอบของ Snowflake(ลิงก์จะเปิดในหน้าต่างใหม่)

หมายเหตุ: Tableau ไม่ใช้ DSN ในการเชื่อมต่อกับ Snowflake ดังนั้นคุณสามารถข้ามคำแนะนำในเอกสารประกอบของ Snowflake ส่วนที่พูดถึงการใช้ DSN ได้

หากคุณกำลังใช้ Tableau เวอร์ชันก่อน 2019.4 คุณสามารถกำหนดค่าส่วนนี้ได้ด้วยการป้อนพารามิเตอร์ลงในไฟล์ TDC โดยใช้ odbc-extras

ตัวอย่าง:

คัดสำเนา
<connection-customization class='snowflake' enabled='true' version='19.1'>
        <vendor name='snowflake' />
            <driver name='snowflake' />
                <customizations>
                <customization name='odbc-connect-string-extras' value='proxy=http://proxyserver.company:80' />
                </customizations></connection-customization>

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

การแก้ปัญหา

ประสิทธิภาพ

ใช้ข้อมูลต่อไปนี้เพื่อช่วยแก้ไขปัญหาด้านประสิทธิภาพที่คุณพบขณะใช้ Tableau กับ Snowflake

ขนาดการดึงข้อมูล

เมื่อใช้ฟิลด์ VARCHAR หรือ VARBINARY ที่ไม่จำกัด ไดรเวอร์จะส่งกลับขนาดฟิลด์เป็น 16M ซึ่งจะทำให้ Tableau ใช้การดึงข้อมูลขนาดเล็ก เพื่อให้อยู่ภายในขีดจำกัดหน่วยความจำ ส่งผลให้ความเร็วในการค้นหาช้าลง การแก้ไขปัญหาทำได้หลายวิธี

การเปลี่ยนแปลงสคีมา

หากคุณเพิ่มขนาดให้กับคำนิยามคอลัมน์ เช่น VARCHAR(256) ค่านี้จะทำให้ Tableau คำนวณขนาดการดึงข้อมูลที่เหมาะสมที่สุดได้

การปรับแต่ง TDC

  • คุณสามารถใช้พารามิเตอร์ไดรเวอร์ default_varchar_size หรือ default_binary_size หรือคุณสามารถใช้ (https://docs.snowflake.com/en/developer-guide/odbc/od

bc-parameters) เพื่อตั้งค่าขนาดฟิลด์สูงสุดสำหรับฟิลด์ที่ไม่มีขอบเขต

  • คุณสามารถใช้ UI ขั้นสูงหรือ TDC

  • คุณจะต้องตั้งค่าความสามารถเพิ่มเติม CAP_ODBC_FETCH_BUFFERS_RESIZABLE ด้วย

หมายเหตุ: โซลูชันนี้ใช้ไม่ได้กับ Tableau Cloud เว้นแต่คุณจะใช้ Tableau Bridge

  • หากคุณใช้ Tableau Bridge คุณสามารถติดตั้ง TDC บนโฮสต์บริดจ์เพื่อนำไปใช้กับการเชื่อมต่อทั้งหมดที่ผ่านโฮสต์นั้น ดูตัวอย่างด้านล่าง

กล่องโต้ตอบป๊อปอัปพารามิเตอร์

ใช้ TDC นี้หากคุณวางแผนที่จะกำหนดขนาดฟิลด์เองสำหรับแหล่งข้อมูลแต่ละแห่งโดยใช้ UI ก่อนหน้า

คัดสำเนา
<connection-customization class='snowflake' enabled='true' version='10.0'>
    <vendor name='snowflake' />
    <driver name='snowflake' />
    <customizations>
        <customization name='CAP_ODBC_FETCH_BUFFERS_RESIZABLE' value='yes'/>
    </customizations>
</connection-customization>

ใช้ TDC นี้เพื่อใช้การปรับแต่งสำหรับแหล่งข้อมูลทั้งหมด

คัดสำเนา
<connection-customization class='snowflake' enabled='true' version='10.0'>
<vendor name='snowflake' />
<driver name='snowflake' />
<customizations>
<customization name='CAP_ODBC_FETCH_BUFFERS_RESIZABLE' value='yes'/>
<customization name='odbc-connect-string-extras' value='default_varchar_size=512;default_binary_size=512'/>
</customizations>
</connection-customization>

คำถามที่พบบ่อย

นี่เป็นตัวอย่างปัญหาที่พบบ่อยและขั้นตอนการแก้ไข

ฉันควรทำอย่างไรเมื่อพบข้อผิดพลาด “ไม่มีฟิลด์นี้ XXX”

ข้อผิดพลาดนี้จะแสดงขึ้นเมื่อคุณสร้างฟิลด์การคำนวณ เพิ่มฟิลด์นั้นไปยังเวิร์กชีต และแทนที่แหล่งข้อมูลด้วยข้อมูล Snowflake (CustomSQL)

ให้ใช้ฟังก์ชันแทนที่การอ้างอิงฟิลด์เพื่อแก้ไขปัญหานี้ หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับการแทนที่การอ้างอิงฟิลด์ โปรดดูแทนที่การอ้างอิงฟิลด์

 

ดูเพิ่มเติม

ขอบคุณสำหรับข้อเสนอแนะของคุณส่งข้อเสนอแนะของคุณเรียบร้อยแล้ว ขอขอบคุณ