我需要从Salesforce表中创建Spark的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>
答案 0 :(得分:0)
问题.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=========================");
}