GVKun编程网logo

如何在Windows中查看Apache Parquet文件?(查看 apache 服务状态)

13

本文将介绍如何在Windows中查看ApacheParquet文件?的详细情况,特别是关于查看apache服务状态的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也

本文将介绍如何在Windows中查看Apache Parquet文件?的详细情况,特别是关于查看 apache 服务状态的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于Apache Arrow - Parquet存储与使用、Apache Camel文件追加在Windows中不起作用、Apache Parquet MR 1.7.0 发布、Apache Windows中安装Apache2和PHP4权威指南的知识。

本文目录一览:

如何在Windows中查看Apache Parquet文件?(查看 apache 服务状态)

如何在Windows中查看Apache Parquet文件?(查看 apache 服务状态)

我找不到有关Apache Parquet文件的任何简单的英语解释。如:

  1. 这些是什么?
  2. 我需要Hadoop或HDFS来查看/创建/存储它们吗?
  3. 如何创建镶木地板文件?
  4. 如何查看镶木地板文件?

关于这些问题的任何帮助,我们将不胜感激。

答案1

小编典典

什么是Apache Parquet?

Apache
Parquet是二进制文件格式,以列形式存储数据。Parquet文件中的数据类似于RDBMS样式表,其中具有列和行。但是,通常不是一次访问一行数据,而是一次访问一列数据。

Apache Parquet是现代大数据存储格式之一。它具有几个优点,其中一些是:

  • 列式存储 :高效的数据检索,高效的压缩等。
  • 元数据位于文件的末尾 :允许从数据流中生成Parquet文件。(在大数据场景中很常见)
  • 受所有Apache大数据产品支持

我需要Hadoop还是HDFS?

不能。镶木地板文件可以存储在任何文件系统中,而不仅仅是HDFS。如上所述,它是一种文件格式。因此,就像任何其他文件一样,它具有名称和
.parquet 扩展名。但是,在大数据环境中通常会发生的情况是将一个数据集拆分(或划分为多个)镶木文件以提高效率。

默认情况下,所有Apache大数据产品都支持Parquet文件。这就是为什么它看起来只能在Apache生态系统中存在的原因。

如何创建/读取Parquet文件?

如前所述,默认情况下,当前所有的Apache大数据产品(例如Hadoop,Hive,Spark等)都支持Parquet文件。

因此,可以利用这些系统来生成或读取Parquet数据。但这远非实用。想象一下,为了读取或创建CSV文件,您必须安装Hadoop / HDFS +
Hive并对其进行配置。幸运的是,还有其他解决方案。

要创建自己的镶木地板文件:

  • 在Java中,请参阅以下文章:使用Java生成Parquet文件
  • 在.NET中,请参见以下库:parquet-dotnet

要查看镶木地板文件内容:

  • 请尝试以下Windows实用程序:https : //github.com/mukunku/ParquetViewer

还有其他方法吗?

可能吧 但是存在的并不多,而且大多没有很好的记录。这是由于Parquet是非常复杂的文件格式(我什至找不到正式定义)。在撰写此回复时,我只知道列出的那些

Apache Arrow - Parquet存储与使用

Apache Arrow - Parquet存储与使用

简介

Parquet是一种高效的列式存储格式,广泛用于大数据系统中的数据仓库和数据管理工具中,旨在提高数据分析的性能和效率,能够更好地支持数据压缩和列式查询,同时兼顾读写速度和数据大小

初衷

为了让 Hadoop 生态系统中的任何项目都能利用压缩、高效的列式数据表示的优势

技术与原理

基于列存储和压缩技术,每一列的数据通过一系列压缩算法进行压缩,然后存储到文件系统中,这种方式能够避免存储冗余数据,并且能够使查询只涉及到所需的列,从而大大提高查询效率

相关术语

  • Blockhdfs Block):hdfs中的数据块
  • Filehdfs 文件,包含文件的元数据,不需要包含实际的数据
  • Row group/行组:将数据水平划分为Row group
  • Column chunk:特定列的数据块,它们位于特定的行组中,并保证在文件中是连续的
  • Page:列块被分为页,页面在概念上是一个不可分割的单元(就压缩和编码而言),列块中可以有多种交错的页面类型,Page为了让数据读取的粒度足够小,便于单条数据或小批量数据的查询

从层次结构上看,文件由一个或多个行组组成,行组的每列恰好包含一个列块,列块包含一页或多页

结构图如下

文件格式如下

4-byte magic number "PAR1"
<Column 1 Chunk 1 + Column Metadata>
<Column 2 Chunk 1 + Column Metadata>
...
<Column N Chunk 1 + Column Metadata>
<Column 1 Chunk 2 + Column Metadata>
<Column 2 Chunk 2 + Column Metadata>
...
<Column N Chunk 2 + Column Metadata>
...
<Column 1 Chunk M + Column Metadata>
<Column 2 Chunk M + Column Metadata>
...
<Column N Chunk M + Column Metadata>
File Metadata
4-byte length in bytes of file metadata
4-byte magic number "PAR1"

Header

Header的内容很少,只有4个字节,本质是一个magic number,用来指示文件类型

PAR1:普通的Parquet文件

PARE: 加密过的Parquet文件

File Body

实际存储数据,包含Column ChunkColumn Metadata

Footer

  • 包含了诸如schemaBlockoffsetsizeColumn Chunkoffsetsize等所有重要的元数据
  • 承担了整个文件入口的职责,读取Parquet文件的第一步就是读取Footer信息,转换成元数据之后,再根据这些元数据跳转到对应的blockcolumn,读取真正所要的数据

Index

IndexParquet文件的索引块,主要为了支持谓词下推(Predicate Pushdown)功能

谓词下推是一种优化查询性能的技术,简单地来说就是把查询条件发给存储层,让存储层可以做初步的过滤,把肯定不满足查询条件的数据排除掉,从而减少数据的读取和传输量

Parquet索引类型

  • Max-Min: Max-Min索引是对每个Page都记录它所含数据的最大值和最小值,这样某个Page是否不满足查询条件就可以通过这个Pagemaxmin值来判断
  • BloomFilter索引: 针对value比较稀疏,max-min范围比较大的列,用Max-Min索引的效果就不太好,BloomFilter可以克服这一点,同时也可以用于单条数据的查询

rust读写Parquet文件

依赖项目

https://github.com/apache/arrow-rs

修改Cargo.toml如下

[dependencies]
parquet = "46.0.0"
parquet_derive = "46.0.0"

修改main.rs

use std::convert::TryFrom;
use std::{fs, path::Path};

use parquet::file::reader::SerializedFileReader;
use parquet::file::writer::SerializedFileWriter;
use parquet::record::RecordWriter;
use parquet_derive::ParquetRecordWriter;

const PARQUET_FILEPATH: &str = "./target/sample.parquet";

#[derive(ParquetRecordWriter)]
struct ACompleteRecord<''a> {
    pub a_bool: bool,
    pub a_str: &''a str,
}

fn write() {
    let path = Path::new(PARQUET_FILEPATH);
    let file = fs::File::create(path).unwrap();
    let samples = vec![
        ACompleteRecord {
            a_bool: true,
            a_str: "I''m true",
        },
        ACompleteRecord {
            a_bool: false,
            a_str: "I''m false",
        },
    ];
    let schema = samples.as_slice().schema().unwrap();
    let mut writer = SerializedFileWriter::new(file, schema, Default::default()).unwrap();
    let mut row_group = writer.next_row_group().unwrap();
    samples
        .as_slice()
        .write_to_row_group(&mut row_group)
        .unwrap();
    row_group.close().unwrap();
    writer.close().unwrap();
}

fn read() {
    let rows = [PARQUET_FILEPATH]
        .iter()
        .map(|p| SerializedFileReader::try_from(*p).unwrap())
        .flat_map(|r| r.into_iter());

    for row in rows {
        println!("{}", row.unwrap());
    }
}

fn main() {
    write();
    read();
}

运行

$ cargo run   
   Compiling temp v0.1.0 (/home/gong/rust-work/temp)
    Finished dev [unoptimized + debuginfo] target(s) in 2.26s
     Running `target/debug/temp`
{a_bool: true, a_str: "I''m true"}
{a_bool: false, a_str: "I''m false"}

查看parquet文件

$ cat target/sample.parquet
PAR1,X%a_bool44<X22I''m true     I''m false,I''m true      I''m false
                                                                 5a_str��&�&�I''m true   I''m false       I''m falsI''m tru4�V<H
     rust_schema%a_bool
                       %a_str%L,&<%a_bool44<X��"&�
                                                  5a_str��&�&�I''m true  I''m false��@��(parquet-rs version 46.0.0�PAR1% 

阅读参考

Apache parquet document

详解Parquet文件格式原理

Apache Camel文件追加在Windows中不起作用

Apache Camel文件追加在Windows中不起作用

这是2.24.3版中已修复的错误CAMEL-14127。您可以升级,也可以使用带有charset选项的workaroud。

.to("file://outputFolder?fileExist=Append&charset=utf-8")

Apache Parquet MR 1.7.0 发布

Apache Parquet MR 1.7.0 发布

Apache Parquet MR 1.7.0 发布,这是 Parquet 宣布成为 Apache 基金会顶级项目之后的首个发行版本。

Parquet是一种面向列存存储的文件格式,Cloudera的大数据在线分析(OLAP)项目Impala中使用该格式作为列存储。

Apache Parquet 是一个列存储格式,主要用于 Hadoop 生态系统。对数据处理框架、数据模型和编程语言无关。

下载地址:https://www.apache.org/dyn/closer.cgi/parquet/parquet-1.7.0/

Apache Windows中安装Apache2和PHP4权威指南

Apache Windows中安装Apache2和PHP4权威指南

Apache 2和PHP是创建交互式网站的流行方案,而且成本很低。在Windows中安装Apache 2是一件轻而易举的事情,但要使PHP 4与Apache 2配合无间地运行,就需要一定的技巧。 
  在PHP 4.3手册的Windows安装小节,没有解释如何让PHP与Apache 2配合使用,而有关Apache 2安装的小节缺失了你需要的大量信息。在网上公布的其他安装指南中,也包含了不少错误,使一些安装人员只好不断试验和犯错。例如,有些人甚至将PHP的DLL替换成其他PHP版本的DLL。OK,为了节省你的宝贵时间,我们准备了这篇最权威的指南文章,帮你扫除一切烦恼。 
  使用正确版本的Windows 
  首先要说一说兼容性:Apache 2不能在Windows 95上运行;在Windows 98上勉强能够运行,但不能作为服务使用。从4.3版本开始,PHP也不再支持Windows 95。所以,你的Windows操作系统必须是Windows NT、2000或者XP。 
  Apache 2:源码还是二进制? 
  如果你有Visual C++ 5.0或更高的版本,或者安装了Microsoft Visual Studio,那么虽然可以根据源码来生成Apache,但请绝对不要这样做。在Visual Studio IDE中,Windows下的生成过程非常复杂。即使从命令行编译,也绝对不是一件易事。所以,除非你喜欢创建makefile,否则最好获得一份Windows Installer二进制发行包,也就是一个.msi文件。等你对Apache有了足够多的认识,知道自己要进行哪些定制操作时,才可考虑亲手生成(编译)Apache。 
  如果已经安装好并正在运行老版本的Apache,首先要停止它,卸载它,然后才能开始安装新服务器。多个版本的Apache 2不能共存。 
  双击Apache 2 .msi文件。同意许可协议后,正确设置Network Domain和Server Name(如果不打算将Apache安装到远程计算机,那么设置localhost就可以了),在Administrator''s Email Address区域输入你的电子邮件地址,保持端口80/服务选项单选钮的选中状态。在下一个对话框中如果选择Typical安装,可以快速地获得一个能实际工作的服务器环境。 
  安装提示 
  建议将默认安装目录从C:\Program Files\Apache Group变成C:\Apache或者符合8.3文件名格式的其他名称。这样一来,以后每次输入Apache安装路径时,都不必为其添加引号。 
  稍候片刻,安装向导会告诉你Apache 2安装成功。接下来惟一要做的事情就是进行测试,请打开浏览器并访问localhost,这样应该看到默认的Apache 2主页。 
  然后可以删除主Web服务器目录中的所有示例文件,它们默认位于C:\InstallDirectory\Apache\Apache2\htdocs中。如果有一个现成的主页Index.html,请把它拷贝到这里;另外,也可以马上创建一个空白主页。对于未初始化的HTML,以下代码就可以了: 
<html> 
<head>title=default server page</head> 
<body>Default server page</body> 
</html>  
  让Apache 2为PHP做好准备 
  从现在开始,你需要较多地以人工方式进行安装,不能简单地点击和选择几个选项了事。尽快习惯它吧,这才是Apache的方式。你需要编辑文件来设置不同的配置选项;如果操作不当,你所做的修改就会妨碍Apache的正确加载。如果设置引发错误,那么错误可能被记录到Apache 2错误日志中(默认为C:\InstallDir\Apache2\Logs\Error.log)。但能够像这样进行记录的毕竟是少数,大多数错误只会记录到Windows事件日志中(开始| 设置| 控制面板| 管理工具| 事件查看器)。 
  令人遗憾的是,在你对安装设置进行调试时,Windows事件日志并不是一个方便的工具。更好的做法是在命令行窗口中测试Apache服务器的加载,这样能立即看到错误报告。所以,在完成了我即将讨论的配置修改后,请打开一个命令行窗口,切换到Apache的binary目录(C:\InstallDir\Apache2\bin),在那里启动Apache。 
  Apache配置文件是C:\Apache\Apache2\Conf\Httpd.conf,可用任何文本编辑器来编辑。查找DirectoryIndex,定位到下面这一行: 
DirectoryIndex index.html index.html.var # index.php  
  为了允许Apache处理PHP页,要删除注释字符(#),变成: 
DirectoryIndex index.html index.html.var index.php  
  还要允许在任何目录中使用.htaccess文件,所以请在配置文件中查找AllowOverride,把这个设置从None改成All。保存了所做的改动后,可继续在文本编辑器中打开该文件,因为等会儿安装PHP时,要再次编辑这个文件。 
  安装PHP 
  虽然可以下载PHP的源码,但和Apache 2一样,最好直接使用二进制发行包。Apache 2可采取2种方式来运行PHP程序:通过一个CGI接口来运行(外部调用Php.exe),或者使用PHP的DLL文件在Apache的内部运行。后一种方式的速度较快。所以,针对每个版本的PHP,都会提供2个Windows二进制发行包。较小的是.msi包,它会安装CGI可执行程序Php.exe,但其中拿掉了通过Apache DLL来运行PHP脚本所需的模块。较大的.zip包则包含了所有这些东西,你可以从snaps.php.net网站的Win32区域下载它们。文件下载完毕后,把它解压到C:\Php(保留文件夹名称)。除非你有绝对的把握,请同时下载PHP手册,它有多种语言的版本可供选择。 
  配置Apache 2来运行PHP4 
  现在来到了最有趣的部分:将Apache和PHP完美地配合起来。首先,请将C:\Php\Dlls目录中的所有DLL文件拷贝到Windows的System目录(%windir%\System)。接着,在Apache的配置文件(Httpd.conf)中查找包含了大量AddType命令那个小节,自己添加下面这一行: 
AddType application/x-httpd-php .php 
  将C:\Php\Php.ini-recommended拷贝到Windows目录(%windir%),把它重命名为Php.ini,并用文本编辑器打开它。编辑其中对doc_root、extension_dir和session.save_path进行设置的3行,使其和下面展示的一致,注意要把InstallDir替换成你的Apache 2的安装目录的名称。 
doc_root = c:\apache\apache2\htdocs 
extension_dir = c:\php\extensions 
session.save_path = c:/temp  
  在session.save_path中使用正斜杠和反斜杠都是允许的。PHP手册声称这些路径参数需要在最后添加一个反斜杠,但这个说法是不正确的。在PHP 4.3中不需要这样做。另外,如果C:\Temp不存在,请自己创建它。 
  下一步是允许Apache将PHP程序作为模块来运行,这要求你采取2个步骤。首先,将C:\Php\Php4ts.dll拷贝到Windows的系统文件夹(%windir%\System)。在Httpd.conf中找到LoadModule小节,自己添加下面这一行: 
LoadModule php4_module “c:/php/php4apache2.dll”  
  如果你出于某种原因而需要在CGI模式中运行PHP程序(使用Php.exe),请将上面这一行变成注释,并在Httpd.conf中添加下面这些行: 
ScriptAlias /php/ "c:/php/" 
Action application/x-httpd-php "/php/php.exe"  
  一切都搞定了吗? 
  保存所做的更改后,你需要亲自去证明两点,才能确保Apache 2/PHP 4成为一对完美的搭档:Apache能正常加载吗,它能正确处理PHP页吗? 
  要知道Apache是否能够正常加载,在你已经打开的命令行窗口中输入以下命令: 
apache –k start  
  另外,如果Apache正在运行,可用以下命令重新启动它: 
apache –k restart  
  从命令行启动Apache的好处在于,如果出现一个错误,Apache会立即报告它。你可能遇到的最常见的问题在于,Apache可能由于某种原因而无法加载Php4apache2.dll。如果Apache报告了这个错误,请按前面所述的步骤重新操作一遍,确保一切都没有错误。 
  要知道Apache是否能正确地处理PHP页,请用你的文本编辑器创建一个简单的PHP页,命名为Phptest.php,其中只包含下面这一行: 
<? phpinfo(); ?>  
  将文件保存到主Web服务器目录(C:\InstallDirectory\Apache\Apache2\Htdocs),用浏览器访问http://localhost/phptest.php。如果一切正常,应该看到一个含有PHP徽标的网页,其中包含大量设置和其他信息。要知道PHP当前是通过CGI来运行,还是在Apache内部运行,可以检查一下环境变量orig_script_name。如果PHP通过CGI来运行,这个变量的值就是/Php/Php.exe。如果Apache将PHP脚本作为模块来运行,该变量的值应该是/Phptest.php。 
  虽然在Windows上安装Apache 2和PHP并不是一件容易的事情,但也完全没必要采取摸着石头过河的做法。通过本文的说明,你应该可以快速搭建起这个史上最好的、成本最低的Web开发环境。

以上就介绍了Apache Windows中安装Apache2和PHP4权威指南,包括了Apache方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

关于如何在Windows中查看Apache Parquet文件?查看 apache 服务状态的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于Apache Arrow - Parquet存储与使用、Apache Camel文件追加在Windows中不起作用、Apache Parquet MR 1.7.0 发布、Apache Windows中安装Apache2和PHP4权威指南等相关内容,可以在本站寻找。

本文标签: