查看: 392|回复: 1

spark与phoenix交互

[复制链接]
论坛徽章:
21
linux徽章
日期:2015-05-21 14:16:50R研习者中级
日期:2017-10-26 15:08:38Oracle研习者初级
日期:2017-10-26 15:09:26matlab徽章
日期:2018-05-24 16:09:45知识图谱徽章
日期:2018-06-15 13:47:35矩阵计算徽章
日期:2018-07-19 15:02:10python徽章
日期:2018-08-16 14:56:51python徽章
日期:2018-08-16 14:57:30spark徽章
日期:2019-03-28 14:58:37R研习者中级
日期:2017-09-28 17:18:49spark徽章
日期:2016-12-08 15:22:36R研习者中级
日期:2016-10-20 16:35:42
发表于 2019-1-10 16:41 | 显示全部楼层 |阅读模式

tm 测试 Spark Hive Scala

日前试着想用phoenix读取HBase的数据,测试了一下,结果报如下错误:
Exception in thread "main" Java.lang.ClassNotFoundException: Failed to find data source: org.apache.phoenix.spark. Please find packages at http://spark.apache.org/third-party-projects.html
        at org.apache.spark.SQL.execution.datasources.DataSource$.lookupDataSource(DataSource.Scala:549)
        at org.apache.spark.sql.execution.datasources.DataSource.providingClass$lzycompute(DataSource.scala:86)
        at org.apache.spark.sql.execution.datasources.DataSource.providingClass(DataSource.scala:86)
        at org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:301)
        at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:178)
        at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:146)
        at com.ty.wsr.FromPhoenixToPhoenix$.main(FromPhoenixToPhoenix.scala:18)
        at com.ty.wsr.FromPhoenixToPhoenix.main(FromPhoenixToPhoenix.scala)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:755)
        at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:180)
        at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:205)
        at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:119)
        at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.ClassNotFoundException: org.apache.phoenix.spark.DefaultSource
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$21$$anonfun$apply$12.apply(DataSource.scala:533)
        at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$21$$anonfun$apply$12.apply(DataSource.scala:533)
        at scala.util.Try$.apply(Try.scala:192)
        at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$21.apply(DataSource.scala:533)
        at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$21.apply(DataSource.scala:533)
        at scala.util.Try.orElse(Try.scala:84)
        at org.apache.spark.sql.execution.datasources.DataSource$.lookupDataSource(DataSource.scala:533)
程序如下:
def main(args: Array[String]): Unit = {
  val ss = SparkSession.builder()
    .appName("FromPhoenixToPhoenix")
    .enableHiveSupport()
    .getOrCreate()
  ss.sparkContext.setLogLevel("WARN")

  val df = ss.read
    .format("org.apache.phoenix.spark")
    .option("table", "PUBLIC.dayalarm")
    .option("zkUrl", "192.168.11.33:2181")
    .load()

  println("count= "+df.count()+"first= "+df.first())

}
是环境不对吗?请诸君指教


回复

使用道具 举报

论坛徽章:
6
spark徽章
日期:2019-03-28 14:58:37python徽章
日期:2019-04-11 15:16:08python徽章
日期:2019-04-19 10:51:53python徽章
日期:2019-04-19 10:52:46python徽章
日期:2019-04-19 10:53:27Hadoop研习者初级
日期:2019-05-16 15:54:51
发表于 2019-1-13 15:10 | 显示全部楼层
Apache Phoenix 是运行在Hbase之上的高性能关系型数据库,通过Phoenix可以像使用jdbc访问关系型数据库一样访问hbase。
Phoenix,操作的表以及数据存储在hbase上。phoenix只需要和hbase进行表关联。然后在用工具进行一些读写操作。
可以把Phoenix 只看成一种代替Hbase语法的工具。虽然Java可以用jdbc来连接phoenix,然后操作hbase,但是在生产环境中,不可以用OLTP中。
phoenix在查询hbase时,虽然做了一些优化,但是延迟还是不小。所以依然用在OLAT中,在将结果返回存储下来。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

 

GMT+8, 2019-10-20 18:20 , Processed in 0.171799 second(s), 31 queries .

关闭

扫一扫加入
本版微信群