zoukankan      html  css  js  c++  java
  • Hive 导入 parquet 格式数据

    Hive 导入 parquet 数据步骤如下:

    1. 查看 parquet 文件的格式
    2. 构造建表语句
    3. 倒入数据

    一、查看 parquet 内容和结构

    下载地址

    命令

    1. 查看结构:
      java -jar parquet-tools-1.6.0rc3-SNAPSHOT.jar schema -d activity.201711171437.0.parquet |head -n 30

    2. 查看内容:
      java -jar parquet-tools-1.6.0rc3-SNAPSHOT.jar head -n 2 activity.201711171437.0.parquet

    parquet 和 hive 的 field 类型映射关系

    BINARY -> STRING
    BOOLEAN -> BOOLEAN
    DOUBLE -> DOUBLE
    FLOAT -> FLOAT
    INT32 -> INT
    INT64 -> BIGINT
    INT96 -> TIMESTAMP
    BINARY + OriginalType UTF8 -> STRING
    BINARY + OriginalType DECIMAL -> DECIMAL
    

    二、hive 命令

    创建表

    create table test_data(a bigint) stored as parquet; 
    # 创建表时可选择数据存储格式
    

    Tips:分区 partitioned by (date string)

    本地导入数据

    load data local inpath '/path/data.parquet' into table test_database.test_table_name;
    

    导入HDFS中的数据

    load data inpath '/path/data.parquet' into table test_database.test_table_name;
    

    Tips:区别是没有 local

    三、pandas 数据导成 parquet 文件

    先安装 pyarrowfastparquet

    import pandas as pd
    >>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [3, 4]})
    >>> df.to_parquet('df.parquet.gzip', compression='gzip')
    >>> pd.read_parquet('df.parquet.gzip')
        col1  col2
    0     1     3
    1     2     4
    

    参考

  • 相关阅读:
    每日总结19
    每日博客
    每日博客
    每日博客
    每日博客
    今日收获
    python 基础学习
    python 基础学习
    python 基本语法学习
    【Rust】格式化Formatting
  • 原文地址:https://www.cnblogs.com/xueweihan/p/9216421.html
Copyright © 2011-2022 走看看