pyspark 访问hive 存放数据 spark sql 分布式框架

pyspark 访问hive 存放数据

代码

import findspark
findspark.init()
from pyspark.sql import SparkSession, HiveContext
'''
需要bin/spark-sql.sh可以运行
需要配置hive-site xml的metastore uri
并开启该metastore节点的server
hive --service metastore &
'''
_SPARK_HOST = "spark://192.168.21.67:7077"
_APP_NAME = "sparkhive"
spark = SparkSession \
    .builder \
    .appName(_APP_NAME).config('spark.sql.catalogImplementation','hive') \
    .getOrCreate()

#spark = SparkSession.builder.master(_SPARK_HOST).appName(_APP_NAME).getOrCreate()

data = [
    (1, "3", "145"),
    (1, "4", "146"),
    (1, "5", "25"),
    (1, "6", "26"),
    (2, "32", "32"),
    (2, "8", "134"),
    (2, "8", "134"),
    (2, "9", "137")
]
df = spark.createDataFrame(data, ['id', "test_id", 'camera_id'])

# method one,default是默认数据库的名字,write_test 是要写到default中数据表的名字
df.registerTempTable('test_hive')
spark.sql("create table default.write_test select * from test_hive")

配置

spark正常工作而且 需要bin/spark-sql.sh可以运行
需要配置hive-site xml的metastore uri (host:port)
复制hive site到spark 的conf文件夹下
并开启该metastore节点host的server

metastore-node-host:/media/haiqing/data2/apps/hive-1.1.0-cdh5.16.1$    bin/hive --service metastore &
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值