ใช้สคริปต์ R (Rserve) ในลำดับงานของคุณ

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

R เป็นภาษาโปรแกรมซอฟต์แวร์โอเพนซอร์สและสภาพแวดล้อมซอฟต์แวร์สำหรับการคำนวณทางสถิติและภาพกราฟิก เพื่อขยายการใช้งานของ Tableau Prep Builder คุณสามารถสร้างสคริปต์ในภาษา R เพื่อใช้ในลำดับงานของคุณที่เรียกใช้ผ่านเซิร์ฟเวอร์ Rserve เพื่อสร้างเอาต์พุตที่คุณสามารถนำไปใช้งานในลำดับงานของคุณต่อได้

เช่น คุณอาจอยากเพิ่มข้อมูลแบบจำลองทางสถิติหรือข้อมูลการพยากรณ์ไปยังข้อมูลที่คุณมีอยู่ในลำดับงานของคุณโดยใช้สคริปต์ในภาษา R จากนั้นใช้ความสามารถของ Tableau Prep Builder เพื่อทำความสะอาดชุดข้อมูลผลลัพธ์เพื่อการวิเคราะห์

เพื่อเพิ่มสคริปต์ R ในลำดับงานของคุณ คุณต้องกำหนดค่าการเชื่อมต่อระหว่าง Tableau Prep Builder และเซิร์ฟเวอร์ Rserve จากนั้นคุณสามารถใช้สคริปต์ R เพื่อปรับใช้ฟังก์ชันที่รองรับไปยังข้อมูลจากลำดับงานของคุณโดยใช้นิพจน์ R หลังจากป้อนรายละเอียดการกำหนดค่าและชี้นำ Tableau Prep Builder ไปยังไฟล์และฟังก์ชันที่คุณต้องการใช้แล้ว ข้อมูลจะได้รับการส่งต่อไปยังเซิร์ฟเวอร์ Rserve อย่างปลอดภัย จะมีการปรับใช้นิพจน์ และผลลัพธ์จะได้รับการส่งคืนมาเป็นตาราง (R data.frame) ที่คุณสามารถทำความสะอาดหรือส่งออกตามต้องการ

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

ข้อกำหนดเบื้องต้น

เพื่อเพิ่มขั้นตอนสคริปต์ R ในลำดับงานของคุณ ให้ติดตั้ง R และกำหนดค่าการเชื่อมต่อไปยังเซิร์ฟเวอร์ Rserve

ทรัพยากร

กำหนดค่าเซิร์ฟเวอร์ Rserv Server สำหรับ Tableau Server

ใช้คำแนะนำต่อไปนี้เพื่อกำหนดค่าการเชื่อมต่อระหว่างเซิร์ฟเวอร์ Rserve ของคุณและ Tableau Server

  • เวอร์ชัน 2019.3 และใหม่กว่า: คุณสามารถเรียกใช้ลำดับงานที่เผยแพร่ที่มีขั้นตอนสคริปต์ใน Tableau Server
  • เวอร์ชัน 2020.4.1 และใหม่กว่า: คุณสามารถสร้าง แก้ไข และเรียกใช้ลำดับงานที่มีขั้นตอนสคริปต์ใน Tableau Server ได้
  • Tableau Cloud: ยังไม่รองรับการสร้างหรือเรียกใช้ลำดับงานที่มีขั้นตอนสคริปต์ในขณะนี้
  1. เปิดบรรทัดคำสั่ง TSM
  2. ป้อนคำสั่งต่อไปนี้เพื่อตั้งค่าที่อยู่ของโฮสต์ ค่าพอร์ต และการหมดเวลาการเชื่อมต่อ

    tsm security maestro-rserve-ssl enable --connection-type {maestro-rserve-secure/maestro-rserve} --rserve-host <Rserve IP address or host name> --rserve-port <Rserve port> --rserve-username <Rserve username> --rserve-password <Rserve password> --rserve-connect-timeout-ms <RServe connect timeout>

    • เลือก {maestro-rserve-secure} เพื่อเปิดใช้งานการเชื่อมต่อที่ปลอดภัยหรือ {maestro-rserve} เพื่อเปิดใช้งานการเชื่อมต่อที่ไม่ปลอดภัย
    • หากคุณเลือก {maestro-rserve-secure} ให้ระบุไฟล์ใบรับรอง -cf<certificate file path> ในบรรทัดคำสั่ง
    • ระบุ --rserve-connect-timeout-ms <RServe connect timeout> เป็นมิลลิวินาที ตัวอย่างเช่น --rserve-connect-timeout-ms 900000
  3. ป้อนคำสั่งต่อไปนี้เพื่อปิดใช้งานการเชื่อมต่อ Rserve

    tsm security maestro-rserve-ssl disable

การกำหนดค่า Rserve เพิ่มเติม (ไม่บังคับ)

คุณสามารถสร้างไฟล์ชื่อ Rserv.cfg เพื่อตั้งค่าการกำหนดค่าเริ่มต้นเพื่อกำหนด Rserve เองและวางไว้ในตำแหน่งที่ติดตั้ง /etc/Rserve.conf เพื่อเพิ่มความเสถียรกับเซิร์ฟเวอร์ Rserve และ Tableau Prep Builder คุณสามารถเพิ่มค่าเพิ่มเติมไปยังการกำหนดค่า Rserve ของคุณได้ เมื่อคุณเรียกใช้ Rserve คุณสามารถดูไฟล์นี้เพื่อปรับใช้ตัวเลือกการกำหนดค่าของคุณได้ ตัวอย่าง:

  • Windows: Rserve(args="--RS-conf C:\\folder\\Rserv.cfg")
  • MacOS และ Linux: Rserve(args=" --no-save --RS-conf ~/Documents/Rserv.cfg")

ตัวอย่างต่อไปนี้แสดงตัวเลือกเพิ่มเติมที่คุณสามารถเพิ่มในไฟล์การกำหนดค่า Rserve.conf ของคุณได้

# If your data includes characters other than ASCII, make it explicit that data should be UTF8 encoded.
encoding utf8 
# Disable interactive behavior for Rserve or Tableau Prep Builder will stall when trying to run the script as it waits for an input response.
interactive no

หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าไฟล์ Rserve.conf โปรดดู ในส่วน “การกำหนดค่าขั้นสูง” ในบันทึกการดำเนินการ R(ลิงก์จะเปิดในหน้าต่างใหม่) (โพสต์ชุมชน)

สร้างสคริปต์ R ของคุณ

เมื่อคุณสร้างสคริปต์ของคุณ ให้ใส่ฟังก์ชันที่ระบุกรอบข้อมูลเป็นอาร์กิวเมนต์ของฟังก์ชันนั้นด้วย การดำเนินการนี้จะเรียกข้อมูลของคุณจาก Tableau Prep Builder คุณจะต้องส่งผลลัพธ์คืนในกรอบข้อมูลโดยใช้ประเภทข้อมูลที่รองรับด้วย

ตัวอย่าง:

postal_cluster <- function(df) {      
  out <- kmeans(cbind(df$Latitude, df$Longitude), 3, iter.max=10)
  return(data.frame(Latitude=df$Latitude, Longitude=df$Longitude, Cluster=out$cluster))
 }

รองรับประเภทข้อมูลต่อไปนี้:

ประเภทข้อมูลใน Tableau Prep Builderประเภทข้อมูลใน R
สตริงสตริง UTF-8 มาตรฐาน
ทศนิยมDouble
จำนวนเต็มจำนวนเต็ม
บูลีนเชิงตรรกะ
วันที่สตริงในรูปแบบ ISO_DATE “YYYY-MM-DD” พร้อมการชดเชยโซนที่ไม่บังคับ เช่น “2011-12-03+01:00” เป็นวันที่ที่ถูกต้อง
วันที่และเวลาสตริงในรูปแบบ ISO_DATE_TIME “YYYY-MM-DDT:HH:mm:ss” พร้อมการชดเชยโซนที่ไม่บังคับ ตัวอย่างเช่น “2011-12-03T10:15:30+01:00” เป็นวันที่ที่ถูกต้อง

หมายเหตุ: ต้องส่งคืนวันที่และวันที่และเวลาเป็นสตริงที่ถูกต้องเสมอ ประเภท “วันที่เนทีฟ” (วันที่และเวลา) ใน R ไม่ใช่ค่าส่งคืนที่รองรับแต่สามารถใช้ในสคริปต์ได้

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

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

ฟังก์ชันใน Rประเภทข้อมูลที่เป็นผลลัพธ์
prep_string ()สตริง
prep_decimal ()ทศนิยม
prep_int ()จำนวนเต็ม
prep_bool ()บูลีน
prep_date ()วันที่
prep_datetime ()วันที่และเวลา

ตัวอย่างต่อไปนี้แสดงฟังกํชัน getOutputSchema สำหรับสคริปต์ postal_cluster

getOutputSchema <- function() {      
  return (data.frame (
    Latitude = prep_decimal (),
    Longitude = prep_decimal (),
    Cluster = prep_int ()));
}

เชื่อมต่อกับเซิร์ฟเวอร์ Rserve ของคุณ

สำคัญ: ตั้งแต่Tableau Prep Builderเวอร์ชัน 2020.3.3 เป็นต้นไป คุณสามารถกำหนดค่าการเชื่อมต่อเซิร์ฟเวอร์ครั้งเดียวจากเมนูความช่วยเหลือด้านบนแทนการตั้งค่าการเชื่อมต่อในแต่ละลำดับงานในขั้นตอน “สคริปต์” โดยคลิกเชื่อมต่อกับเซิร์ฟเวอร์ Rserveและป้อนรายละเอียดการเชื่อมต่อของคุณ คุณจะต้องกำหนดค่าการเชื่อมต่อของคุณใหม่โดยใช้เมนูใหม่นี้สำหรับลำดับงานใดๆ ที่สร้างขึ้นใน Tableau Prep Builder เวอร์ชันเก่าที่คุณเปิดในเวอร์ชัน 2020.3.3

  1. เลือก ความช่วยเหลือ > การตั้งค่าและประสิทธิภาพ > จัดการการเชื่อมต่อส่วนขยายการวิเคราะห์
  2. ในรายการดรอปดาวน์เลือกส่วนขยายการวิเคราะห์ ให้เลือก Rserve

  3. ป้อนข้อมูลเข้าสู่ระบบของคุณ:
    • พอร์ต 6311 เป็นพอร์ตเริ่มต้นสำหรับเซิร์ฟเวอร์ Rserve
    • พอร์ต 4912 เป็นพอร์ตเริ่มต้นสำหรับเซิร์ฟเวอร์ Rserve ที่เข้ารหัส SSL
    • หากเซิร์ฟเวอร์ต้องการข้อมูลเข้าสู่ระบบ ให้ป้อน “ชื่อผู้ใช้” และ “รหัสผ่าน”
    • หากเซิร์ฟเวอร์มรการเข้ารหัส SSL ให้เลือกกล่องกาเครื่องหมาย Require SSL (ต้องใช้ SSL) จากนั้นให้คลิกลิงก์ Custom configuration file (ไฟล์การกำหนดค่ากำหนดเอง) เพื่อระบุใบรับรองสำหรับการเชื่อมต่อ

      หมายเหตุ: Tableau Prep Builder ไม่มีวิธีในการทดสอบการเชื่อมต่อ หากการเชื่อมต่อมีปัญหาจะมีข้อความแสดงข้อผิดพลาดเมื่อคุณพยายามเรียกใช้งานลำดับงานนั้น

เพิ่มสคริปต์ลงในลำดับงานของคุณ

เปิดใช้เซิร์ฟเวอร์ Rserve ของคุณและทำตามขั้นตอนต่อไปนี้ให้ครบถ้วน

  1. เปิด Tableau Prep Builder และคลิกปุ่มเพิ่มการเชื่อมต่อ

    ในการเขียนเว็บ จากหน้าแรก ให้คลิกสร้าง > โฟลว์ หรือจากหน้าสำรวจ ให้คลิกใหม่ > โฟลว์ จากนั้นคลิก เชื่อมต่อกับข้อมูล

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

  3. คลิกไอคอนบวก และเลือก Add Script (เพิ่มสคริปต์) จากเมนูบริบท

  4. ในหน้าต่าง “สคริปต์” ใต้ประเภทการเชื่อมต่อ ให้เลือก Rserve

  5. ในส่วน ชื่อไฟล์ ให้คลิก เรียกดู เพื่อเลือกไฟล์สคริปต์ของคุณ
  6. ป้อน ชื่อฟังก์ชัน จากนั้นกด Enter เพื่อเรียกใช้สคริปต์ของคุณ

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