Привет, мне нужно создать таблицу в Phoenix из искровой работы. Я пробовал 2 способа ниже, но ни один из них не работает, кажется, это все еще не поддерживается.
1) Dataframe.write по-прежнему требует, чтобы таблицы существовали ранее
df.write.format("org.apache.phoenix.spark").mode("overwrite").option("table", schemaName.toUpperCase + "." + tableName.toUpperCase ).option("zkUrl", hbaseQuorum).save()
2) если мы подключимся к Phoenix через JDBC и попытаемся выполнить CREATE statemnt, то мы получим ошибку синтаксического анализа (то же самое create работает в Phoenix)
var ddlCode="create table test (mykey integer not null primary key, mycolumn varchar) "
val driver = "org.apache.phoenix.jdbc.PhoenixDriver"
val jdbcConnProps = new Properties()
jdbcConnProps.setProperty("driver", driver);
val jdbcConnString = "jdbc:phoenix:hostname:2181/hbase-unsecure"
sqlContext.read.jdbc(jdbcConnString, ddlCode, jdbcConnProps)
ошибка: org.apache.phoenix.exception.PhoenixParserException: ОШИБКА 601 (42P00): синтаксическая ошибка. Обнаружено "create" в строке 1, столбце 15.
Кто-нибудь с похожими проблемами, которому удалось сделать это по-другому?