我正在尝试使用apache spark和cassandra进行数据分析.所以我写了一个java代码来访问在远程机器上运行的cassandra.我使用了以下java代码.
public class JavaDemo implements Serializable {
private transient SparkConf conf;
private JavaDemo(SparkConf conf) {
this.conf = conf;
}
private void run() {
JavaSparkContext sc = new JavaSparkContext(conf);
generateData(sc);
compute(sc);
showResults(sc);
sc.stop();
}
private void generateData(JavaSparkContext sc) {
CassandraConnector connector = CassandraConnector.apply(sc.getConf());
Session session = connector.openSession();
// Prepare the schema
session.execute("DROP KEYSPACE IF EXISTS java_api");
session.execute("CREATE KEYSPACE java_api WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1}");
session.execute("CREATE TABLE java_api.products (id INT PRIMARY KEY, name TEXT, parents LIST<INT>)");
session.execute("CREATE TABLE java_api.sales …Run Code Online (Sandbox Code Playgroud) 我有Cassandra数据库,我通过Apache Spark使用SparkSQL分析数据.现在我想将这些分析的数据插入到PostgreSQL中.除了使用PostgreSQL驱动程序之外,有没有办法直接实现这一点(我使用postREST和Driver实现它我想知道是否有任何方法saveToCassandra())?
我有一个JSON字段data,其中包含以下数据-
{"name":"xx"}
Run Code Online (Sandbox Code Playgroud)
我想使用Hibernate在此字段上执行全文搜索。有什么办法可以实现?我遵循了一些示例,但没有任何帮助。
我正在使用 spark 2.1.0 版本并尝试与 Hive 表建立连接。我的 hive 数据仓库位于 hdfs 的 /user/hive/warehouse 中,通过列出该文件夹的内容,我可以看到其中的所有 dbname.db 文件夹。经过一些研究,我发现我需要spark.sql.warehouse.dir在 spark 2.x 中指定它,并且我将其设置为这样
val spark = SparkSession
.builder()
.appName("Spark Hive Example")
.config("spark.sql.warehouse.dir", "/user/hive/warehouse")
.enableHiveSupport()
.getOrCreate()
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试打印数据库
spark.sql("show databases").show()
但我只看到默认数据库,
+------------+
|databaseName|
+------------+
| default|
+------------+
Run Code Online (Sandbox Code Playgroud)
所以我有什么办法可以将 spark 连接到现有的 hive 数据库?有什么我在这里想念的吗?
当我尝试使用 cassandra 运行 Spark 应用程序时出现错误。
Exception in thread "main" org.apache.spark.SparkException: Only one SparkContext may be running in this JVM (see SPARK-2243).
Run Code Online (Sandbox Code Playgroud)
我使用的是 spark 版本 1.2.0,很明显我在我的应用程序中只使用了一个 spark 上下文。但是每当我尝试添加以下代码用于流式传输时,都会收到此错误。
JavaStreamingContext activitySummaryScheduler = new JavaStreamingContext(
sparkConf, new Duration(1000));
Run Code Online (Sandbox Code Playgroud)