pyspark可用于读取textfile格式的hive表格。

1. 查看hive表的属性方法(在hive或者spark-sql命令行均可):

查询建表信息:

show create table database_name.table_name;

查询表的属性信息 (可看到表的格式信息例如,InputFormat):

desc formatted database_name.table_name;

查看表结构:

desc database_name.table_name;

查看分区信息:

show partitions database_name.table_name;

2. 首先导入库文件,进行环境配置

import os
from pyspark import SparkContext, SparkConf
from pyspark.sql.session import SparkSession
from pyspark.sql.types import StructField, StructType, StringType

os.environ["PYSPARK_PYTHON"]="/usr/bin/python3"

conf = SparkConf().setAppName('test_text')
sc = SparkContext('local', 'test', conf=conf)
spark = SparkSession(sc)

3. 读取textfile格式数据(因为hive表可能以该形式保存)形成DataFrame数据:spark.read.text;类似,读取csv格式可用spark.read.csv

txt_File = r"hdfs://host:port/apps/hive/warehouse/数据库名.db/表名"
df = spark.read.text(txt_File) # DataFrame data

4. 基本操作

df.columns:显示列名

df.take(2):取前2条,Row格式

df.toPandas():将DataFrame格式的数据转成Pandas的DataFrame格式数据

df.collect():收集所有数据

df.show():显示数据;df.show(n)表示显示前n行