代码之家  ›  专栏  ›  技术社区  ›  Sal

如何在Windows中查看Apache拼花文件?

  •  9
  • Sal  · 技术社区  · 6 年前

    我找不到任何关于ApacheParquet文件的简单英语解释。例如:

    1. 他们是什么?
    2. 我需要Hadoop或HDF来查看/创建/存储它们吗?
    3. 如何创建拼花文件?
    4. 如何查看拼花文件?

    对于这些问题的任何帮助,我们都表示感谢。

    3 回复  |  直到 5 年前
        1
  •  12
  •   Sal    5 年前

    拼花文件中的数据类似于RDBMS样式表,其中有列和行。但是,通常一次访问一列,而不是一行一行地访问数据。

    • 柱状存储器
    • 元数据在文件末尾

    默认情况下,所有Apache大数据产品都支持拼花文件。这就是为什么它似乎只能存在于Apache生态系统中。

    如前所述,所有当前的Apache大数据产品(如Hadoop、Hive、Spark等)默认都支持拼花文件。

    要创建自己的拼花文件:

    查看拼花文件内容:

    还有其他方法吗?

        2
  •  1
  •   nirolo    5 年前

    如何使用SQL访问拼花文件中的数据?

    Spark 作为SQL引擎 Python Zeppelin

    There is very well done guide by Michael Garlanyk 引导一个完成spark/python组合的安装。

    from os import walk
    from pyspark.sql import SQLContext
    
    sc = SparkContext.getOrCreate()
    sqlContext = SQLContext(sc)
    
    parquetdir = r'C:\PATH\TO\YOUR\PARQUET\FILES'
    
    # Getting all parquet files in a dir as spark contexts.
    # There might be more easy ways to access single parquets, but I had nested dirs
    dirpath, dirnames, filenames = next(walk(parquetdir), (None, [], []))
    
    # for each parquet file, i.e. table in our database, spark creates a tempview with
    # the respective table name equal the parquet filename
    print('New tables available: \n')
    
    for parquet in filenames:
        print(parquet[:-8])
        spark.read.parquet(parquetdir+'\\'+parquet).createOrReplaceTempView(parquet[:-8])
    

    my_test_query = spark.sql("""
    select
      field1,
      field2
    from parquetfilename1
    where
      field1 = 'something'
    """)
    
    my_test_query.show()
    
        3
  •  0
  •   meow    5 年前

    现在可以通过 Apache Arrow here official docs

    DataFrame notebooks csv 文件。