You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@carbondata.apache.org by "anubhav tarar (JIRA)" <ji...@apache.org> on 2017/09/18 07:49:00 UTC
[jira] [Updated] (CARBONDATA-1477) Wrong values shown when fetching
date type values in hive
[ https://issues.apache.org/jira/browse/CARBONDATA-1477?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
anubhav tarar updated CARBONDATA-1477:
--------------------------------------
Description:
{code}
package org.apache.carbondata.hiveexample
import java.io.File
import java.sql.{DriverManager, ResultSet, Statement}
import org.apache.spark.sql.SparkSession
import org.apache.carbondata.common.logging.LogServiceFactory
import org.apache.carbondata.hive.server.HiveEmbeddedServer2
// scalastyle:off println
object HiveExample {
private val driverName: String = "org.apache.hive.jdbc.HiveDriver"
def main(args: Array[String]) {
val rootPath = new File(this.getClass.getResource("/").getPath
+ "../../../..").getCanonicalPath
val store = s"$rootPath/integration/hive/target/store"
val warehouse = s"$rootPath/integration/hive/target/warehouse"
val metaStore_Db = s"$rootPath/integration/hive/target/carbon_metaStore_db"
val logger = LogServiceFactory.getLogService(this.getClass.getCanonicalName)
var resultId = ""
var resultName = ""
var resultSalary = ""
import org.apache.spark.sql.CarbonSession._
val carbonSession = SparkSession
.builder()
.master("local")
.appName("HiveExample")
.config("carbonSession.sql.warehouse.dir", warehouse).enableHiveSupport()
.getOrCreateCarbonSession(
store, metaStore_Db)
carbonSession.sql("DROP TABLE IF EXISTS HIVE_CARBON_EXAMPLE ")
carbonSession
.sql(
"""CREATE TABLE IF NOT EXISTS HIVE_CARBON_EXAMPLE (ID int,NAME string,SALARY double,JOININGDATE date) STORED BY
|'CARBONDATA' """
.stripMargin)
carbonSession.sql(
s"""
LOAD DATA LOCAL INPATH '$rootPath/integration/hive/src/main/resources/data.csv' INTO
TABLE
HIVE_CARBON_EXAMPLE
""")
carbonSession.sql("SELECT * FROM HIVE_CARBON_EXAMPLE").show()
carbonSession.stop()
try {
Class.forName(driverName)
}
catch {
case classNotFoundException: ClassNotFoundException =>
classNotFoundException.printStackTrace()
}
val hiveEmbeddedServer2 = new HiveEmbeddedServer2()
hiveEmbeddedServer2.start()
val port = hiveEmbeddedServer2.getFreePort
val connection = DriverManager.getConnection(s"jdbc:hive2://localhost:$port/default", "", "")
val statement: Statement = connection.createStatement
logger.info(s"============HIVE CLI IS STARTED ON PORT $port ==============")
statement.execute("CREATE TABLE IF NOT EXISTS " + "HIVE_CARBON_EXAMPLE " +
" (ID int, NAME string,SALARY double,JOININGDATE date)")
statement
.execute(
"ALTER TABLE HIVE_CARBON_EXAMPLE SET FILEFORMAT INPUTFORMAT \"org.apache.carbondata." +
"hive.MapredCarbonInputFormat\"OUTPUTFORMAT \"org.apache.carbondata.hive." +
"MapredCarbonOutputFormat\"SERDE \"org.apache.carbondata.hive." +
"CarbonHiveSerDe\" ")
statement
.execute(
"ALTER TABLE HIVE_CARBON_EXAMPLE SET LOCATION " +
s"'file:///$store/default/hive_carbon_example' ")
val sql = "SELECT * FROM HIVE_CARBON_EXAMPLE"
val resultSet: ResultSet = statement.executeQuery(sql)
var rowsFetched = 0
while (resultSet.next) {
println("*********"+resultSet.getString("JOININGDATE"))
}
println(s"******Total Number Of Rows Fetched ****** $rowsFetched")
logger.info("Fetching the Individual Columns ")
hiveEmbeddedServer2.stop()
System.exit(0)
}
}
values that i get for date type is 1970-01-01 which was wrong
was:
{code}
package org.apache.carbondata.hiveexample
import java.io.File
import java.sql.{DriverManager, ResultSet, Statement}
import org.apache.spark.sql.SparkSession
import org.apache.carbondata.common.logging.LogServiceFactory
import org.apache.carbondata.hive.server.HiveEmbeddedServer2
// scalastyle:off println
object HiveExample {
private val driverName: String = "org.apache.hive.jdbc.HiveDriver"
def main(args: Array[String]) {
val rootPath = new File(this.getClass.getResource("/").getPath
+ "../../../..").getCanonicalPath
val store = s"$rootPath/integration/hive/target/store"
val warehouse = s"$rootPath/integration/hive/target/warehouse"
val metaStore_Db = s"$rootPath/integration/hive/target/carbon_metaStore_db"
val logger = LogServiceFactory.getLogService(this.getClass.getCanonicalName)
var resultId = ""
var resultName = ""
var resultSalary = ""
import org.apache.spark.sql.CarbonSession._
val carbonSession = SparkSession
.builder()
.master("local")
.appName("HiveExample")
.config("carbonSession.sql.warehouse.dir", warehouse).enableHiveSupport()
.getOrCreateCarbonSession(
store, metaStore_Db)
carbonSession.sql("DROP TABLE IF EXISTS HIVE_CARBON_EXAMPLE ")
carbonSession
.sql(
"""CREATE TABLE IF NOT EXISTS HIVE_CARBON_EXAMPLE (ID int,NAME string,SALARY double,JOININGDATE date) STORED BY
|'CARBONDATA' """
.stripMargin)
carbonSession.sql(
s"""
LOAD DATA LOCAL INPATH '$rootPath/integration/hive/src/main/resources/data.csv' INTO
TABLE
HIVE_CARBON_EXAMPLE
""")
carbonSession.sql("SELECT * FROM HIVE_CARBON_EXAMPLE").show()
carbonSession.stop()
try {
Class.forName(driverName)
}
catch {
case classNotFoundException: ClassNotFoundException =>
classNotFoundException.printStackTrace()
}
val hiveEmbeddedServer2 = new HiveEmbeddedServer2()
hiveEmbeddedServer2.start()
val port = hiveEmbeddedServer2.getFreePort
val connection = DriverManager.getConnection(s"jdbc:hive2://localhost:$port/default", "", "")
val statement: Statement = connection.createStatement
logger.info(s"============HIVE CLI IS STARTED ON PORT $port ==============")
statement.execute("CREATE TABLE IF NOT EXISTS " + "HIVE_CARBON_EXAMPLE " +
" (ID int, NAME string,SALARY double,JOININGDATE date)")
statement
.execute(
"ALTER TABLE HIVE_CARBON_EXAMPLE SET FILEFORMAT INPUTFORMAT \"org.apache.carbondata." +
"hive.MapredCarbonInputFormat\"OUTPUTFORMAT \"org.apache.carbondata.hive." +
"MapredCarbonOutputFormat\"SERDE \"org.apache.carbondata.hive." +
"CarbonHiveSerDe\" ")
statement
.execute(
"ALTER TABLE HIVE_CARBON_EXAMPLE SET LOCATION " +
s"'file:///$store/default/hive_carbon_example' ")
val sql = "SELECT * FROM HIVE_CARBON_EXAMPLE"
val resultSet: ResultSet = statement.executeQuery(sql)
var rowsFetched = 0
while (resultSet.next) {
println("*********"+resultSet.getString("JOININGDATE"))
}
println(s"******Total Number Of Rows Fetched ****** $rowsFetched")
logger.info("Fetching the Individual Columns ")
hiveEmbeddedServer2.stop()
System.exit(0)
}
}
Summary: Wrong values shown when fetching date type values in hive (was: wrong values shown when fetching date type values in hive)
> Wrong values shown when fetching date type values in hive
> ---------------------------------------------------------
>
> Key: CARBONDATA-1477
> URL: https://issues.apache.org/jira/browse/CARBONDATA-1477
> Project: CarbonData
> Issue Type: Bug
> Components: hive-integration
> Affects Versions: 1.2.0
> Environment: hive1.2.1,spark2.1
> Reporter: anubhav tarar
> Assignee: anubhav tarar
> Priority: Trivial
> Attachments: data.csv
>
> Time Spent: 3h
> Remaining Estimate: 0h
>
> {code}
> package org.apache.carbondata.hiveexample
> import java.io.File
> import java.sql.{DriverManager, ResultSet, Statement}
> import org.apache.spark.sql.SparkSession
> import org.apache.carbondata.common.logging.LogServiceFactory
> import org.apache.carbondata.hive.server.HiveEmbeddedServer2
> // scalastyle:off println
> object HiveExample {
> private val driverName: String = "org.apache.hive.jdbc.HiveDriver"
> def main(args: Array[String]) {
> val rootPath = new File(this.getClass.getResource("/").getPath
> + "../../../..").getCanonicalPath
> val store = s"$rootPath/integration/hive/target/store"
> val warehouse = s"$rootPath/integration/hive/target/warehouse"
> val metaStore_Db = s"$rootPath/integration/hive/target/carbon_metaStore_db"
> val logger = LogServiceFactory.getLogService(this.getClass.getCanonicalName)
> var resultId = ""
> var resultName = ""
> var resultSalary = ""
> import org.apache.spark.sql.CarbonSession._
> val carbonSession = SparkSession
> .builder()
> .master("local")
> .appName("HiveExample")
> .config("carbonSession.sql.warehouse.dir", warehouse).enableHiveSupport()
> .getOrCreateCarbonSession(
> store, metaStore_Db)
> carbonSession.sql("DROP TABLE IF EXISTS HIVE_CARBON_EXAMPLE ")
> carbonSession
> .sql(
> """CREATE TABLE IF NOT EXISTS HIVE_CARBON_EXAMPLE (ID int,NAME string,SALARY double,JOININGDATE date) STORED BY
> |'CARBONDATA' """
> .stripMargin)
> carbonSession.sql(
> s"""
> LOAD DATA LOCAL INPATH '$rootPath/integration/hive/src/main/resources/data.csv' INTO
> TABLE
> HIVE_CARBON_EXAMPLE
> """)
> carbonSession.sql("SELECT * FROM HIVE_CARBON_EXAMPLE").show()
> carbonSession.stop()
> try {
> Class.forName(driverName)
> }
> catch {
> case classNotFoundException: ClassNotFoundException =>
> classNotFoundException.printStackTrace()
> }
> val hiveEmbeddedServer2 = new HiveEmbeddedServer2()
> hiveEmbeddedServer2.start()
> val port = hiveEmbeddedServer2.getFreePort
> val connection = DriverManager.getConnection(s"jdbc:hive2://localhost:$port/default", "", "")
> val statement: Statement = connection.createStatement
> logger.info(s"============HIVE CLI IS STARTED ON PORT $port ==============")
> statement.execute("CREATE TABLE IF NOT EXISTS " + "HIVE_CARBON_EXAMPLE " +
> " (ID int, NAME string,SALARY double,JOININGDATE date)")
> statement
> .execute(
> "ALTER TABLE HIVE_CARBON_EXAMPLE SET FILEFORMAT INPUTFORMAT \"org.apache.carbondata." +
> "hive.MapredCarbonInputFormat\"OUTPUTFORMAT \"org.apache.carbondata.hive." +
> "MapredCarbonOutputFormat\"SERDE \"org.apache.carbondata.hive." +
> "CarbonHiveSerDe\" ")
> statement
> .execute(
> "ALTER TABLE HIVE_CARBON_EXAMPLE SET LOCATION " +
> s"'file:///$store/default/hive_carbon_example' ")
> val sql = "SELECT * FROM HIVE_CARBON_EXAMPLE"
> val resultSet: ResultSet = statement.executeQuery(sql)
> var rowsFetched = 0
> while (resultSet.next) {
> println("*********"+resultSet.getString("JOININGDATE"))
> }
> println(s"******Total Number Of Rows Fetched ****** $rowsFetched")
> logger.info("Fetching the Individual Columns ")
> hiveEmbeddedServer2.stop()
> System.exit(0)
> }
> }
> values that i get for date type is 1970-01-01 which was wrong
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)