Я пытаюсь использовать Intellij, чтобы протестировать мой искровой скала-код, который потребуется для создания таблицы улья.Я установил куст, используя драйвер mysql локально на моем MAC.Я могу создать таблицу кустов из spark-shell с помощью
sqlContext.sql("CREATE TABLE IF NOT EXISTS employee(id INT, name STRING, age INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'")
Но та же самая команда внутри скала-программы внутри Intellij, даже если она успешно завершается, не в состоянии фактически создать любую таблицу, отображаемую в кустеmetastore.
val spark = SparkSession.builder
.appName("BiddingExternalTable")
.master("local")
.enableHiveSupport()
.getOrCreate()
spark.sqlContext.sql("CREATE TABLE IF NOT EXISTS employeeExternal(id INT, name STRING, age INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'")
Если посмотреть на вывод консоли, сеанс spark внутри Intellij все еще использует мета-хранилище DERBY по умолчанию.
19/05/02 17:40:06 INFO SharedState: Warehouse path is 'file:/Users/sichu/src/MktDataSSS/spark-warehouse/'.
19/05/02 17:40:07 INFO StateStoreCoordinatorRef: Registered StateStoreCoordinator endpoint
19/05/02 17:40:09 INFO HiveUtils: Initializing HiveMetastoreConnection version 1.2.1 using Spark classes.
19/05/02 17:40:09 INFO HiveMetaStore: 0: Opening raw store with implemenation class:org.apache.hadoop.hive.metastore.ObjectStore
19/05/02 17:40:09 INFO ObjectStore: ObjectStore, initialize called
19/05/02 17:40:10 INFO Persistence: Property hive.metastore.integral.jdo.pushdown unknown - will be ignored
19/05/02 17:40:10 INFO Persistence: Property datanucleus.cache.level2 unknown - will be ignored
19/05/02 17:40:10 INFO ObjectStore: Setting MetaStore object pin classes with hive.metastore.cache.pinobjtypes="Table,StorageDescriptor,SerDeInfo,Partition,Database,Type,FieldSchema,Order"
19/05/02 17:40:11 INFO Datastore: The class "org.apache.hadoop.hive.metastore.model.MFieldSchema" is tagged as "embedded-only" so does not have its own datastore table.
19/05/02 17:40:11 INFO Datastore: The class "org.apache.hadoop.hive.metastore.model.MOrder" is tagged as "embedded-only" so does not have its own datastore table.
19/05/02 17:40:11 INFO Datastore: The class "org.apache.hadoop.hive.metastore.model.MFieldSchema" is tagged as "embedded-only" so does not have its own datastore table.
19/05/02 17:40:11 INFO Datastore: The class "org.apache.hadoop.hive.metastore.model.MOrder" is tagged as "embedded-only" so does not have its own datastore table.
19/05/02 17:40:11 INFO Query: Reading in results for query "org.datanucleus.store.rdbms.query.SQLQuery@0" since the connection used is closing
19/05/02 17:40:11 INFO MetaStoreDirectSql: Using direct SQL, underlying DB is DERBY
Несмотря на то, что я добавил драйвер JDBC (и его папку) в CLASSPATH.Я также разместил файл hive-site.xml в каталоге hadoop conf.Этот файл hive-site.xml был успешно обнаружен программой spark-shell, но не при запуске программы Scala из Intellij.
Может ли кто-нибудь помочь мне подключить мою работу по поиску в Intellij к метастагу улья mysql, который я настроилна моей локальной машине.Спасибо!