我需要从Salesforce创建表星火的Dataset<Row>
。
我有一个代码片段我写这样做:
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SparkSession;
import com.springml.spark.salesforce.*;
public class SaleforceReader {
public static void main(String args[])
{
System.out.println("=========================Salesforce Ingest Begins=========================");
SparkSession spark = SparkSession.builder().getOrCreate();
Dataset<Row> df = spark.read().format("com.springml.spark.salesforce")
.option("username", "someusername")
.option("password", "somepassword")
.option("soql", "select id, name from mytable")
.option("version", "37.0")
.load();
df.show(false);
spark.close();
System.out.println("=========================Salesforce Ingest ENDS=========================");
}
}
上面的代码片段在许多教程和门户给出。但是这个代码不指定任何Salesforce的服务器连接到。
请告诉我如何为这个com.springml.spark.salesforce
连接指定Saleforce服务器地址。
我们是否有类似.option("login", "//some.salesforce.server.com:port")
?
依赖我用:
<dependency>
<groupId>com.springml</groupId>
<artifactId>spark-salesforce_2.11</artifactId>
<version>1.1.0</version>
</dependency>
正如在问题中提到.option("login", "//some.salesforce.server.com:port")
工作。
下面是代码:
public static void main(String args[])
{
System.out.println("=========================Salesforce Ingest Begins=========================");
SparkSession spark = SparkSession.builder().getOrCreate();
Dataset<Row> df = spark.read().format("com.springml.spark.salesforce")
.option("username", "someuser@someDomain")
.option("password", "mypasswordMYSECURITYTOKEN")
.option("login", "https://login.salesforce.com/login/page")
.option("soql", "SELECT id from myTable")
.option("version", "37.0")
.load();
df.show(false);
spark.close();
System.out.println("=========================Salesforce Ingest ENDS=========================");
}