我现在正在学习Spark,并且我知道如何使用特定表。
但是我想从数据库中加载所有表。问题是如何做到这一点。
这是我从特定表加载的代码:
package gt.example.spark;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.sql.DataFrame;
import org.apache.spark.sql.SQLContext;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
public class App {
public static final String DRIVER = "com.mysql.jdbc.Driver";
public static final String URL = "jdbc:mysql://localhost:3306/example";
public static final String USERNAME = "root";
public static final String PASSWORD = "pass";
private static final JavaSparkContext sc =
new JavaSparkContext(new SparkConf().setAppName("Spark Example").setMaster("local[*]"));
private static final SQLContext sqlContext = new SQLContext(sc);
public static void main(String[] args) {
Map<String, String> options = new HashMap<String, String>();
options.put("driver", DRIVER);
options.put("url", URL + "?user=" + USERNAME + "&password=" + PASSWORD);
options.put("dbtable", "user");
DataFrame jdbcDF = sqlContext.read().format("jdbc").options(options).load();
jdbcDF.show();
}
}
是否要加载所有表名?如果是这样,则查询INFORMATION_SCHEMA
。TABLES
桌子。您可以使用与上面相同的代码,但是要更改dbtable
属性。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句