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行
參考: