Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ class ProductRDDFunctions[A <: Product](data: RDD[A]) extends Serializable {
val jdbcUrl = PhoenixDataSource.getJdbcUrlFromOptions(dsOptions)
val confAsMap = conf.iterator().asScala.map(c => (c.getKey -> c.getValue)).toMap.asJava
val confToSet = new Properties()
confToSet.putAll(confAsMap)
confToSet.putAll(confAsMap.asInstanceOf[java.util.Map[_, _]])
if (tenantId.isDefined) {
confToSet.setProperty(PhoenixRuntime.TENANT_ID_ATTRIB, tenantId.get)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,24 @@ package org.apache.phoenix.spark

import org.apache.phoenix.query.QueryConstants
import org.apache.phoenix.schema.types._
import org.apache.phoenix.util.{ColumnInfo, SchemaUtil}
import org.apache.phoenix.util.ColumnInfo
import org.apache.spark.sql.types._

object SparkSchemaUtil {

/**
* Removes double-quote escaping from a full column name.
* Inlined here for compatibility across Phoenix versions:
* - Phoenix 5.2.x had SchemaUtil.getUnEscapedFullColumnName()
* - Phoenix 5.3.0+ renamed it to SchemaUtil.getUnEscapedFullName()
* This implementation matches the Phoenix 5.3.0 behavior exactly.
*/
private def getUnEscapedFullColumnName(fullColumnName: String): String = {
require(fullColumnName != null && fullColumnName.nonEmpty,
"Given name cannot be null or empty")
fullColumnName.replaceAll("\"", "").trim
}

def phoenixSchemaToCatalystSchema(columnList: Seq[ColumnInfo], dateAsTimestamp: Boolean = false, doNotMapColumnFamily: Boolean = false): StructType = {
val structFields = columnList.map(ci => {
val structType = phoenixTypeToCatalystType(ci, dateAsTimestamp)
Expand All @@ -34,7 +47,7 @@ object SparkSchemaUtil {
}

private def normalizeColumnName(columnName: String, doNotMapColumnFamily: Boolean) = {
val unescapedColumnName = SchemaUtil.getUnEscapedFullColumnName(columnName)
val unescapedColumnName = getUnEscapedFullColumnName(columnName)
var normalizedColumnName = ""
if (unescapedColumnName.indexOf(QueryConstants.NAME_SEPARATOR) < 0) {
normalizedColumnName = unescapedColumnName
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,24 @@ package org.apache.phoenix.spark

import org.apache.phoenix.query.QueryConstants
import org.apache.phoenix.schema.types._
import org.apache.phoenix.util.{ColumnInfo, SchemaUtil}
import org.apache.phoenix.util.ColumnInfo
import org.apache.spark.sql.types._

object SparkSchemaUtil {

/**
* Removes double-quote escaping from a full column name.
* Inlined here for compatibility across Phoenix versions:
* - Phoenix 5.2.x had SchemaUtil.getUnEscapedFullColumnName()
* - Phoenix 5.3.0+ renamed it to SchemaUtil.getUnEscapedFullName()
* This implementation matches the Phoenix 5.3.0 behavior exactly.
*/
private def getUnEscapedFullColumnName(fullColumnName: String): String = {
require(fullColumnName != null && fullColumnName.nonEmpty,
"Given name cannot be null or empty")
fullColumnName.replaceAll("\"", "").trim
}

def phoenixSchemaToCatalystSchema(columnList: Seq[ColumnInfo], dateAsTimestamp: Boolean = false, doNotMapColumnFamily: Boolean = false): StructType = {
val structFields = columnList.map(ci => {
val structType = phoenixTypeToCatalystType(ci, dateAsTimestamp)
Expand All @@ -34,7 +47,7 @@ object SparkSchemaUtil {
}

private def normalizeColumnName(columnName: String, doNotMapColumnFamily: Boolean) = {
val unescapedColumnName = SchemaUtil.getUnEscapedFullColumnName(columnName)
val unescapedColumnName = getUnEscapedFullColumnName(columnName)
var normalizedColumnName = ""
if (unescapedColumnName.indexOf(QueryConstants.NAME_SEPARATOR) < 0) {
normalizedColumnName = unescapedColumnName
Expand Down
12 changes: 12 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1060,6 +1060,18 @@
</plugins>
</build>
</profile>
<!-- Phoenix 5.3.0 profile. Activate with -Pphoenix-5.3 -->
<profile>
<id>phoenix-5.3</id>
<properties>
<phoenix.version>5.3.0</phoenix.version>
<omid.version>1.1.3</omid.version>
<hbase.version>2.5.12-hadoop3</hbase.version>
<hbase.compat.version>2.5.4</hbase.compat.version>
<hadoop.version>3.4.2</hadoop.version>
<hbase-thirdparty-version>4.1.7</hbase-thirdparty-version>
</properties>
</profile>
<!-- Duplicate the functionality of MPOM-451 for our older ASF parent pom -->
<profile>
<id>dont-use-apache-snapshots</id>
Expand Down