zoukankan      html  css  js  c++  java
  • pyspark读取textfile形成DataFrame以及查询表的属性信息

    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行

    参考:

    https://www.cnblogs.com/dozn/p/9040237.html

    https://blog.csdn.net/u011712163/article/details/89887653

  • 相关阅读:
    HDU4777 Rabbit Kingdom
    HDU6200 mustedge mustedge mustedge
    HDU6187 Destroy Walls
    最长公共上升子序列的学习
    关于约瑟夫问题的学习
    洛谷1602 Sramoc问题
    HDU2089 不要62
    poj3532 Round Numbers
    洛谷1014 Cantor表
    花盆Flowerpot[USACO12MAR]
  • 原文地址:https://www.cnblogs.com/qi-yuan-008/p/12493719.html
Copyright © 2011-2022 走看看