Looking for amazon-redshift Answers? Try Ask4KnowledgeBase
Looking for amazon-redshift Keywords? Try Ask4Keywords

amazon-redshift開始使用amazon-redshift


備註

本節概述了amazon-redshift是什麼,以及開發人員為什麼要使用它。

它還應該提到amazon-redshift中的任何大型主題,並鏈接到相關主題。由於amazon-redshift的文檔是新的,您可能需要創建這些相關主題的初始版本。

使用Node.js連接Amazon Redshift數據庫並將數據提取到Array中

使用JDBC連接amazon redshift的最佳方法,根據版本使用適當的驅動程序http://docs.aws.amazon.com/redshift/latest/mgmt/configure-jdbc-connection.html

第1步:npm安裝jdbc

第2步:

var JDBC = require('jdbc');
var jinst = require('jdbc/lib/jinst');
// isJvmCreated will be true after the first java call.  When this happens, the
// options and classpath cannot be adjusted.
if (!jinst.isJvmCreated()) {
  // Add all java options required by your project here.  You get one chance to
  // setup the options before the first java call.
  jinst.addOption("-Xrs");
  // Add all jar files required by your project here.  You get one chance to
  // setup the classpath before the first java call.
  jinst.setupClasspath(['./drivers/hsqldb.jar',
                        './drivers/derby.jar',
                        './drivers/derbyclient.jar',
                        './drivers/derbytools.jar',
                        './lib/drivers/RedshiftJDBC41-1.1.10.1010.jar'
                        ]);
}

var config = {
  url: 'jdbc:redshift://test-redshift.czac2vcs84ci.us-east-.redshift.amazonaws.com:5439/testredshift?user=redshift&password=W9P3GC42GJYFpGxBitxPszAc8iZFW',
  drivername: 'com.amazon.redshift.jdbc41.Driver',
  user : 'username',
  password: 'password',
  minpoolsize: 10,
  maxpoolsize: 100
};
var hsqldbInit = false;
GLOBAL.hsqldb = new JDBC(config);`
 

步驟3:npm install async(使用異步模塊查詢代碼)(可選)

步驟4:手動創建一個數據庫名稱test和table sample_data在這裡找到amazon redshift database命令

第五步:

var asyncjs = require('async');
hsqldb.reserve(function(err, connObj) {
    if (connObj) {
        console.log("Connection: " + connObj.uuid);
        var conn = connObj.conn;
        asyncjs.series([
            function(callback) {
                conn.createStatement(function(err, statement) {
                    if (err) {
                        callback(err);
                    } else {
                        statement.setFetchSize(100, function(err) {
                            if (err) {
                                callback(err);
                            } else {
                              statement.executeQuery("SELECT * FROM test.sample_data", function(err, resultset) {
                                resultset.toObjArray(function(err,sresults){
                                  console.log(sresults);
                                });   
                              });   
                           }
                        })
                      }
                    })
                 }
              ]) 
         }
      })
 

安裝或設置

如分步指南( Amazon Redshift入門 )所示,它涉及:

  • 第1步:設置先決條件

  • 第2步:啟動示例Amazon Redshift群集

  • 第3步:授權訪問群集

  • 第4步:連接到示例群集

設置先決條件

設置先決條件涉及註冊AWS賬戶和安裝SQL客戶端驅動程序和SQL Workbench / J等工具

要安裝SQL Workbench J並對其進行配置:

  • 使用此鏈接下載所有系統的通用包( sql-workbench )。假設您已安裝所有先決條件。
  • 獲取適當的JDBC / ODBC驅動程序。
  • 使用安裝目錄中的腳本啟動SQL-Workbench。
  • 打開連接窗口>管理驅動程序>瀏覽並選擇驅動程序文件。
  • 在選擇連接配置文件窗口中。在驅動程序框中選擇創建的驅動程序。粘貼創建的紅移群集(來自Amazon Redshift控制台的JDBC URL)和主用戶用戶名密碼的URL。

啟動示例Amazon Redshift群集

  • 單擊Amazon Redshift Dashboard中的Launch Cluster
  • 在群集詳細信息頁面上,選擇任何群集標識符,數據庫名稱,數據庫端口(選擇防火牆中的開放端口,因為創建群集後無法更改端口號。),主用戶名,主用戶密碼。在Node Configuration頁面上,選擇Version(Redshift Version),Node Type,Cluster Type和Number of Compute Nodes。
  • 根據您選擇的EC2-VPC或EC2 Classic平台,安全步驟因授權群集而異。對於其餘頁面,您現在可以使用默認設置。

授權群集

對於EC2-VPC平台,在導航窗格中打開Redshift群集選項卡後,單擊創建的群集名稱,然後轉到配置選項卡。在群集屬性中,選擇安全組。根據入站和出站選項卡中的要求編輯入站和出站規則(協議,端口範圍,源)。

對於EC2-Classic Platform,在導航窗格中打開Redshift cluster選項卡後單擊創建的群集名稱,然後轉到配置選項卡。對於Cluster Security Groups,選擇Cluster Properties下的default。然後從群集安全組列表的“安全組”選項卡中選擇群集安全組。從安全組連接選項卡中的連接類型中選擇CIDR / IP,並使用IP /端口對其進行授權。

連接到示例群集

按照設置先決條件的最後一步操作。